QUOTE (dmvn @ 29-01-2007, 05:36): | Воркс, давай фотку Абеля! Уж раз нас так всех так пробило... Она у меня не чёрная была, а тёмно-cyan-истого цвета.
Set, зря ты так! Я тебе скажу, что если парень в 10 лет научится даже рисовать окошки и добавлять на них простейшие event'ы, чтобы что-то полезное происходило, то это-то его как раз и заинтересует: "ага, и вот так можно, и это просто. ну-ка, а если вот так? ух ты, работает!". Да, я начинал с обычного бейсика, но в моё время просто не было виндов!
И я тебе скажу как человек, учивший детей программированию: они совершенно не понимают подхода "от сложного к простому". То есть нельзя 10-летнему дать прочесть Cтрауструпа и сказать "ты знаешь C++". Он просто не поймёт ничего, даже если выучит наизусть все тонкости механизма наследования классов.
Или ты хочешь, чтобы пацан в 10 лет учился проектированию? Бесполезно. Не тот уровень мозгов.
Совсем другое дело --- это постепенное усложнение. Да, сначала у него прога будет говорить при нажатии на OK "Пошёл на фиг". Потом она будет это делать только при неверном ответе на вопрос, заданный тут же в окне. Я сам так учился, мне страшно нравилось, что я могу управлять поведением компьютера. Ну а потом... потом уже пошло самостоятельное изучение книжек, я заботал полный синтаксис ну и пошёл креативить.
Эх... золотое было время --- пришёл из школы, пожрал, сделал уроки за полчаса-час и за тачку!
А вот вступать в споры типа "Жрецы Дельфийского оракула" Синтоисты/Католические Синтоисты я не буду. | У меня было немного не так. Компьютер появился в доме, когда мне было, кажется, 13. Бейсик уже знал "заочно", и через какое-то время (кажется, строк через 200) он перестал интересовать как язык - тачка производила на свет около 5000 операторов в секунду и на любой переборной задаче уходила в себя. Компилятора другого языка под рукой не оказалось, пришлось осваивать машинные коды. Надо сказать, что от замены бейсика на маш.коды алгоритмы не пострадали и не претерпели существенного изменения, как и подход к делу. Скорее, напротив, все были в выигрыше - были преодолены компромиссные, связанные с "удобством для большинства" условности идеологии языков высокого уровня.
А о Visual Studio хочется сказать пару ласковых слов особо, т.к., идя на поводу у злобных московских работодателей, не желающих платить деньги за знание ассемблера, три дня назад я решил освоить эту среду разработки, а заодно и их джава-сю имени Билли Бейсика, т.е. С#. Как и водится у большинства увлеченных клавотопов, убил я на процесс освоения примерно 2/3 времени последних трех суток, с перерывами на неспокойный сон и короткие прогулки. В первом приближении VS 2005 произвела впечатление, схожее, видимо, с тем, которое должна производить машинка Зингера на коренного жителя ЮАР. Вкладки стучат и хлопают, мастера генерируют безумный по величине текстовый код, при этом попытка создать простейшую, на 8 строчек C++ программу под Win32 потерпела фиаско, вызвав ошибку несовместимости типов, а в MSDN не нашлось места описанию типа, переменную которого принимает в качестве параметра их нейтив-функция AfxMessageBox(). Впрочем, кто сейчас пишет руками и вдается в такие детали! Что за мелочность, тратить силы на вывод никому не нужного изолированного сообщения, когда под рукой целая библиотека прекрасных компонентов! Не обошлось, правда, и без других неожиданностей: в процессе отладки VS 2005 позволила себе 2 раза вылететь с потерей всех введенных данных, прямо во время редактирования. Ее визуализатор не нашел удачного способа трактовать мой полный ошибок и непонимания фишки код. Но на тот момент эти ужасы были впереди, и я, решив забыть Visual C++ как страшный сон, перелез на С# "резко", начав с освоения его основной задачи - упросить программирование интерфейса этой бронебойной операционки. Перелезать с ассемблера и классического, безинтерфейсного С++ было бы особенно сложно, если бы не довелось в свое время изучать азы флэша. Знание идеологии флэша сильно помогло в понимании идеологии Windows в целом, как операционки для прикладного программирования. Сегодня ночью VS сдалась и вроде как всё, связанное с интерфейсом, удалось освоить, заставить работать все элементы окна, включая меню, статус-панель, бегунки и прогрессив бары, даже звук и видео, кроме банального вывода текста в маленькую консоль внизу окошка, но и ее, думаю, удастся заставить работать на днях - надо только выяснить, где переусердствовал и не является ли многострочный вывод на экран устаревшей технологией с точки зрения идеологов Windows. В принципе, пришел к выводу, что Windows по сути - упрощенный и доведенный до ума флэш, господа из Макромедии по сравнению с Гейтсом просто зря едят свой хлеб. А в целом создалось впечатление, что Microsoft за последние 15 лет сделала шаг вперед, особенно в плане дизайна панелей, иконок, меню и других визуальных компонентов. В плане создания устойчивого кода они ушли вперед, пожалуй, только на словах, возглавив авангард аграрного программирования. Под занавес: представитель Microsoft Press в книжке по .NET на полном серьезе аргументированно доказывал, что байт-код CLR (промежутночный код для дальнейшей интерпретации, создаваемый компилятором С# и других языков .NET) работает чуть ли ни быстрее аналогичного кода, созданного, например, средствами обычного компилятора С++ или ассемблера, о котором мелкомягкие уже давным-давно предлагают забыть. Как он может работать быстрее? А! Оказывается, мы не учитываем, что интерпретатор на каждой машине использует нюансы ее архитектуры, особенности процессорных команд! Вот где неиссякаемый кладезь производительности! Правда, "что-то я сначала засомневался..." © А.Трушкин. А вдруг, действительно, по старой дружбе Интел припас пару-тройку недокументированных команд для основного партнера, помогающего отгружать свежие процессоры бочками? Запустил пустой цикл. Результат потряс - за секунду машине удалось прогнать пустой 250.000.000-й цикл! Ассемблер на i486 DX2-66 нервно курит в сторонке. Правда, на Open Watcom C 1.5 этот же код на этом же процессоре заработал примерно в 4 раз быстрее, а ассемблер я даже не запускал, боюсь окончательно разувериться в людях. Сейчас сижу и думаю, что делать после отдыха - забыть .NET как страшный сон, или забыть как страшный сон не только .NET, но и все программирование под Windows в целом, или, может быть, пойти на компромисс и писать на C# интерфейс, а основную программу на ваткоме, присобачивая ее потом в виде DLL-модуля к интерфейсу?...
|