Капитан
> Потом накидав на форму пару TEdit и TComboBox можно написать простейший
> калькулятор на 4 действия.
А когда ты захочешь сделать калькулятор с разбором выражений, то что ты сделаешь? Скачаешь компонент TExpressionParser? А ничего, что этот компонент тоже кто-то делал, кто явно продвинулся дальше формошлёпа? А ничего, что этот компонент будет работать по своим правилам, а не по тем, которые тебе нужны?
Гопник Хаскель
> Поэтому, новичок пусть читает книги, где с первых страниц уже можно "пощупать"
> своими руками что-то. Пусть чувствует себя творцом.
Я начинал с турбопаса. Когда я в 9 классе сделал программу, которая в ответ на ввод а и б выводит а+б, я почувствовал себя реально творцом - я сделал что-то, что ведёт себя так, как я задумал!
Мне нравилось по крупицам делать что-то сложное.
А вот в дельфе было постоянно ощущение, что меня наё. Потому что что-то сделал, и оно как-то работает, а как оно так вышло - непонятно ваще, чёрный ящик какой-то.
Так что новичку много не надо. Другое дело, что вообще начинать программирование с С - не лучший вариант. Для начала лучше Паскаль.
Гопник Хаскель
> Ну а если бы попался в начале какой-нибудь Страуструп в котором треть книги это
> сентенции вида: «использование жирных интерфейсов ослабляет взаимосвязь между
> концепциями и классами и таким образом открывает простор для использования
> наследования как просто удобства реализации» то кроме приступов тошноты и
> полного когнитивного диссонанса "что хорошего в этой книге???"
Ещё помню где-то читал такое:
"Шаблонные классы могут наследоваться от шаблонов классов.
Шаблонные классов могут наследоваться от шаблонных классов.
Шаблоны классов могут наследоваться от шаблонных классов..."
Кажется, только сейчас, когда я это вспомнил, понял, о чём там речь )
Что-то я не пойму, как продвинутому цпп гуру привычка набирать в блокноте и знание наизусть десятков нужных include помогут осилить написание сложного калькулятора. Что вам, что программистам на vb, delphi шарпе и т. п. придётся обдумывать алгоритм.
Если вы думаете, что дельфист будет искать компонент TExpressionParser, то так же цпп программист может начать искать какой-нибудь хедер Parser.h.
Но тот же дельфист быстрее справится с рутиной, типа расположения кнопок, и приступит непосредственно к разработке алгоритма.
Mikle
вопрос не стоит в том, что в С++ нельзя формошлепить (хотя можно), а в Delphi можно
вопрос в том, что изучать нужно алгоритмы, а не расставлять кнопки по форме не понимая как они работают...
> помогут осилить написание сложного калькулятора
да просто программист начнет писать калькулятор с получением данных из консоли или из файла,
а уже когда калькулятор примет более менее законченный вид, приделать к нему GUI не составит труда
и вообще какой нафиг калькулятор? )
я не думаю, что калькулятор в том смысле в котором о нем говорил Капитан является примером реального приложения
разбор выражений уже ближе к делу, но чем формошлепство поможет в написании разбора выражений?
Капитан по его словам говорит о том, что в 2010 году первичней финтифлюшки (формы, intellisence и тд. и тп.)
я говорю, что первичней алгоритмы, АТД и тд. и тп. кто-то считает, что я не прав?
Я не говорю что "финтифлюшки" первичнее, я говорю, что они полезны и отказываться от них глупо.
cNoNim
> программист начнет писать калькулятор с получением данных из консоли или из
> файла,
И какой калькулятор будет легче отлаживать? А представь, что это не дельфи, а шарп или vb?
Mikle
> Я не говорю что "финтифлюшки" первичнее
Ну и мы о том же.
Первичны алгоритмы.
Mikle
> И какой калькулятор будет легче отлаживать?
Тот, который данные берёт из файла. Не надо каждый раз заново набирать выражение.
Кэп говорит что тот для которого написано больше тестов, а выражения для разбора в тестах можно писать прямо в коде.
Формошлепство мало способствует TDD
TarasB
> Не надо каждый раз заново набирать выражение.
Ты просто не представляешь, что данные можно забить сразу в TextBox и редактировать их прямо в IDE, а можно сразу в ListBox, и будет готовый список, данные можно брать оттуда по номерам и не волноваться в правильности синтаксиса переноса. Или, например, в VB можно написать функцию и тут же в IDE в Immediate Window её вызвать. Можно написать UserControl, и, когда мы его будем "формошлёпить", он УЖЕ будет работать, например не будет давать уменьшить свой размер меньше определённого, если соответственно прописать обработчик UserControl_Resize.
У цпп есть куча плюсов (не два:) ) - кросплатформенность, быстродействие, но где цпп, а где удобства.
Давай все же договоримся что спор не о С++ vs все остальные
Спор о подходе
И моя точка зрения такова что формошлепство способствует не правильному пониманию сути.
Как правило формошлепство основано на event driven подходе, который имеет много нюансов и обучать им новичка не совсем правильно.
После такого обучения он скорее всего не будет знать ничего кроме форм.
и так вот я не говорю какой язык или IDE круче.
я говорю что нужен такой язык который содержит минимум language specific и platform specific фич
+ нужна удобная IDE
и под эту категорию подходит даже какойнибудь алгол, я бы даже посоветовал какойнибудь динамический язык вроде руби
надо лишь решить вопрос с IDE
поэтому я за Small Basic
cNoNim
> поэтому я за Small Basic
Бейсик - это мертвый язык. Лучше начинать с Python или Ruby.
Гопник Хаскель
> сейчас встану пожалуй на сторону Капитана.
+1 Я тоже. :)
> получится как обычно в школах-вузах теория (с мыслью "нахрен это надо" и "что
> за хрень тут написана")->потом практика (с мыслью "блин, а ведь надо было в
> своё время учить ту хрень") -> и снова теория (изучение когда-то пройденного,
> теперь уже с осознанием "нафига").
Во-во.
TarasB
> А когда ты захочешь сделать калькулятор с разбором выражений, то что ты
> сделаешь? Скачаешь компонент TExpressionParser? А ничего, что этот компонент
> тоже кто-то делал, кто явно продвинулся дальше формошлёпа?
Ничего. И сам компьютер тоже кто-то сделал. И чтож, теперь собственноручно сделать счёты и считать на них?
> А ничего, что этот
> компонент будет работать по своим правилам, а не по тем, которые тебе нужны?
Математические правила вообще-то едины.
> > И какой калькулятор будет легче отлаживать?
>
> Тот, который данные берёт из файла. Не надо каждый раз заново набирать
> выражение.
В Дельфи для этого есть компонент TFormStorage из RxLib. Кидаешь на форму, открываешь его свойства, и помечаешь мышью те свойства компонентов, которые нужно сохранять перед закрытием и загружать при запуске. Всё запрограммировано до нас.
cNoNim
> ты ни фига не знаешь
> ты хоть убейся
А такой стиль беседы называется: cлив засчитан.
> ты хоть убейся
Сделай это сам.
Den Zurin
эм... а какая разница какой язык я что-то не пойму?
важны конструкции, а не язык, условный оператор он и в Африке условный.
Python для начала может посоветовать только тот кто с ним не сталкивался )))
А Small Basic ты бы сначала посмотрел, там от Basic одно название и вообще он ближе к VB.Net который не такой уж и мертвый
из него можно нажатием одной кнопки конвертнуть все в VB.Net...
PS: щас на тебя еще и Mikle нападет на счет бейсика )))
Капитан
Ты упоротый...
так вырывать слова из контекста, эт надо еще суметь,
Капитан
> Математические правила вообще-то едины.
Алгоритмы тоже едины, но языки программирования все разные. И способов записи выражения уйма, и именно тот, который тебе нужен, надо писать самому. На готовом долго не протянешь. Не, реально, что-нибудь серьёзное напиши сначала, потом по-другому будешь говорить.
Капитан
> Ничего. И сам компьютер тоже кто-то сделал. И чтож, теперь собственноручно
> сделать счёты и считать на них?
Нет. Ты предлагаешь забыть нахрен электронику, потому что зачем она нужна, можно просто купить готовый компьютер.
Тема в архиве.