About Blog PGP Key

Флудильное

Сегодня в psi-dev@c.j.r зашла одна девушка.. На неё сразу накинулись с попытками подсадить на что-то нехорошее вроде C++ ;)

[22:19:32] <Rion> dion_: все девушки должны стать программистками *мечтательно*
...
[22:22:14] <maj> страуструпа читать минимум 3 раза
[22:22:15] <dion_> отстаньте от девушки
[22:22:21] <dion_> anastasiyalove: не вздумай
[22:22:25] <maj> потом читать логи трупчатов
...
[22:26:21] <dion_> anastasiyalove: НЕ СЛУШАЙ ИХ. НИ В КОЕМ СЛУЧАЕ
[22:26:49] <anastasiyalove> Rion: я программирование не люблю. Нудное эт дело
[22:27:01] <anastasiyalove> Rion: у меня терпения не хватает
[22:27:07] <dion_> anastasiyalove: правильно
[22:27:21] <Rion> anastasiyalove: это только так кажется. вот если страуструпа почитать то точно начнешь думать по-другому :)
[22:27:22] <anastasiyalove> dion_: даже если бы и послушала, мне возможности не позволяют
Add post to: Delicious Reddit Slashdot Digg Technorati Google
(already: 4) Comment post

Comments

24.04.2009 23:11 Chris Archer

C++ — это прекрасно. Чем больше я узнаю языков, тем больше люблю сиплюсплюс (с) Моё

А вот Страуструпа читать действительно вредно ^__^

24.04.2009 23:15 dion

C++ — это прекрасно. Чем больше я узнаю языков, тем больше люблю сиплюсплюс (с) Моё

Ну это же не повод подсаживать на него. Тем более девушек :)

А вот Страуструпа читать действительно вредно ^__^

Почему? И что тогда полезно читать по C++?

24.04.2009 23:23 Chris Archer

Тут довольно точно написано: http://insidecpp.ru/books/

Ничего не могу сказать про те 3 книги, что он советовал, но про Страуструпа — весьма точно

Ну это же не повод подсаживать на него. Тем более девушек :)

На что ж еще подсаживать? Хотя… Правильно сначала изучать C/Pascal, а потом пересаживать на C++/Object Pascal, и только потом пациент будет готов к другим языкам и другим парадигмам

24.04.2009 23:46 dion

Ничего не могу сказать про те 3 книги, что он советовал, но про Страуструпа — весьма точно

Спасибо. Для меня Страуструп — не первая книжка по C++. Может из-за этого я к ней нормально отношусь. Комментарий про стиль оформление (наклонный не моноширинный шрифт) — очень смахивает на бред. Я не могу припомнить _типографских_ книг, напечатанных моноширинным шрифтом.

На что ж еще подсаживать? Хотя… Правильно сначала изучать C/Pascal, а потом пересаживать на C++/Object Pascal, и только потом пациент будет готов к другим языкам и другим парадигмам

Девушек — вообще не надо ни на что подсаживать :)

А так — только не C/C++. Я, например, с Basic начинал. При чем с какого-то интерпретатора, в котором еще нормального текстового редактора не было. И строки нумеровались. А так — Python например ;). Либо сразу Lisp (который я, к сожалению, знаю только на уровне Hello World-а)

25.04.2009 0:06 Chris Archer

Я не могу припомнить _типографских_ книг, напечатанных моноширинным шрифтом.

Г. Гарсия-Молина. “Системы баз данных” — и это я схватил первую попавшуюся. Если честно, вообще не помню книг, где код не был бы моноширинным. Даже тот же Страуструп. У меня, помнится, было какое-то весьма старое издание

25.04.2009 0:19 dion

Когда я впервые читал эту книгу в русскоязычном издании, я долго не мог понять, какому идиоту пришло в голову сверстать исходники наклонным, и главное, не моноширинным шрифтом. Когда я узнал, что предпочтения относительно шрифта исходили от самого автора, мне вообще поплохело.

Я таки протупил. Слово “исходники” недочитал и подумал, что речь про шрифт всего текста ;). Наверное сказывается то, что время за полночь перевалило. Но в любом случае это не повод сажать людей сразу за C/C++.

PS. Я нашел труъ скрин того, с чего я начинал: http://upload.wikimedia.org/wikipedia/en/f/ff/GW-BASIC_3.22.png. Помню еще, как нумеровать строки все рекомендовали с шагом в 10, чтобы потом можно между двух строк можно было вставить еще чуть кода :)

25.04.2009 0:21 PUSYA

Ми уткнула нос в ассемблер -__-

25.04.2009 0:23 dion

Ну вот. Еще одна.

Не нада моск портить :)

25.04.2009 0:25 Chris Archer

omfg. куда мир катится?

25.04.2009 0:26 dion

Вот и я про это же ;)

25.04.2009 0:25 Chris Archer

хы. забавно

25.04.2009 5:20 Chris Archer

представил себе книгу, нпечатанную курсивом

ужаснулся

25.04.2009 0:24 Chris Archer

Basic ужасен. Python ужасен. Lisp функционален. Функциональные языки сразу надо давать, возможно, только чокнутым математикам.

Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации (Эдсгер Дейкстра)

Классик, конечно, радикален, но что-то в этом есть. Может, Бейсик в чем-то и хорош, но те, кто изучал ООП по Вижуал Бейсику — 100% должны сюда попадать.

В Python переоценена роль Exceptions и (по слухам) излишне упрощенная объектная модель. (Кстати, там есть множественное наследование?) В Руби объектная модель лучше, но его я тоже не порекомендую.

Вообще я свой выбор обозначил выше, но его бы тоже надо сократить. Cи ужасен для начального изучения: слабый контроль за типами данных, излишняя “системность” в вводе-выводе. Object Pascal (в тероии) хорош, но ООП там всё равно вторично. В общем, мой выбор: Паскакаль для начала, Плюсы для продолжения

25.04.2009 0:28 PUSYA

В одном универе нас так до сих пор пытаются обучить вижл бейсику, в другом универе обучали полгода дельфи, Пуся после всего ушла в отшельничество, то бишь в асму…ну, кто хочет на мне жениться? XDDD

25.04.2009 0:39 Chris Archer

Эхх… в универах не должны учить языкам программирования. Должны учить парадигмам программирования на примере языкофф… Не представляю что можно выучить на примере VB или Delphi (хотя… на Delphi можно качественно дать и структурное, и ООП, и WinAPI, просто ни один из этих пронесшихся в уме курсов не подразумевает [а точнее, исключает] использование VCL и формочек…)

А асм я прогулял — он был факультативом… А семестр был и без него напряжным

25.04.2009 0:50 dion

Эхх… в универах не должны учить языкам программирования. Должны учить парадигмам программирования на примере языкофф…

Зависит от специальности :)

Не представляю что можно выучить на примере VB или Delphi

Рисовать формочки в дизайнерах, даблкликать на батонах и в открывшемся редакторе писать.

хотя… на Delphi можно качественно дать и структурное, и ООП, и WinAPI, просто ни один из этих пронесшихся в уме курсов не подразумевает [а точнее, исключает] использование VCL и формочек…

В полезности преподавания WinAPI я очень сильно сомневаюсь. Кому надо — книжек почитают. А так — у нас, кажется, две лабораторки было про рисование гуев в matlab-е.

25.04.2009 0:57 Chris Archer

Зависит от специальности :)

Конечно. Но я про программёров.

В полезности преподавания WinAPI я очень сильно сомневаюсь.

Да, я тоже. Но нам его давали в рамках курса “Операционные системы”. Точнее, это единственное, что нам давали в рамках этого курса… Это было ужасно…

25.04.2009 1:15 dion

Зависит от специальности :)

Конечно. Но я про программёров.

На сферической специальности в вакууме “Программист 1C” вряд ли нужно учить парадигмам :)

Да, я тоже. Но нам его давали в рамках курса “Операционные системы”. Точнее, это единственное, что нам давали в рамках этого курса… Это было ужасно…

А нам не давали. Но я зато знаю, во всяком случае теоретически, как бипером бибикать в DOS-е на asm-е ;) И как картинки рисовать в графике там же. Хотя не, с картинками я считерил и показал какой-то треш вместо кода и туфту, нарисованную в paint-е, вместо результата работы :)

25.04.2009 0:46 dion

В одном универе нас так до сих пор пытаются обучить вижл бейсику, в другом универе обучали полгода дельфи

У нас в универе:

  • Паскаль
  • asm (intel 8080 и потом intel 8086)
  • C++
  • Matlab
  • Prolog
  • Lisp

(кажется в хронологическом порядке).

IMHO обучать сразу с рисования формочек ака Visual*/Delphi — очень большое зло.

ну, кто хочет на мне жениться?

А можно?

25.04.2009 1:01 Chris Archer

Нам давали C, C++, Matlab, Haskell (вроде) и Scheme (чисто-функциональный диалект Lisp), Prolog. До этого я учил Паскаль в школе и рисование формочек на курсах.

ну, кто хочет на мне жениться?

А можно?

Видимо, нужно :-D А как занятый человек, так и быть, уступаю ;)

25.04.2009 1:02 Chris Archer

ахда. а диплом я всё равно защищал на PHP/JavaScript/XHTML

25.04.2009 1:16 dion

Видимо, нужно :-D А как занятый человек, так и быть, уступаю ;)

Осталось у невесты спросить ;). Особенно если пиво пить бросит. И аниме смотреть.

25.04.2009 1:21 Chris Archer

Сразу отобрать у человека все радости жизни — это жестоко. А потом жалуются чаво жена шипит и скалкой бьет…

25.04.2009 1:27 dion

Если у человека “все радости жизни” сводятся к пиву и аниме, то я ему могу только посочувствовать ;)

А себе пожелать таки успехов в поиске другого глобуса.

25.04.2009 1:32 Chris Archer

Эхх… было время, когда аниме было моей единственной радостью в жизни. К счастью, прошло.

А себе пожелать таки успехов в поиске другого глобуса.

Создай колонию на Луне и объяви ее территорией, свободной от аниме. А пиво там и так от притяжения всё в пену превратится.

25.04.2009 1:35 dion

Эхх… было время, когда аниме было моей единственной радостью в жизни. К счастью, прошло.

Что, прям вообще ничем другим не занимался?

Создай колонию на Луне и объяви ее территорией, свободной от аниме. А пиво там и так от притяжения всё в пену превратится.

Спасибо за мысль. Осталось только получить согласие пуси на совместную жизнь на Луне ;)

хм. А может лучше всех анимешников на луну выселить?

25.04.2009 1:39 Chris Archer

хм. А может лучше всех анимешников на луну выселить?

Хм. Недаром японский в наших интернетах кличут Мунспик.

Что, прям вообще ничем другим не занимался?

Ну… ничем, что бы приносило радость. Кажется, это было время адского напряга в учебе.

25.04.2009 2:05 dion

хм. А может лучше всех анимешников на луну выселить?

Хм. Недаром японский в наших интернетах кличут Мунспик.

Ух ты как всё совпало :)

Ну… ничем, что бы приносило радость. Кажется, это было время адского напряга в учебе.

Экзамен для меня всегда праздник, профессор! (c)

25.04.2009 0:40 dion

Basic ужасен. Python ужасен. Lisp функционален. Функциональные языки сразу надо давать, возможно, только чокнутым математикам.

А чем ужасен python, кроме наличия двух видов строк и значимых отступов? Впрочем, вспоминая школу с паскалём, точнее то, как подавляющее количество одноклассников писало код без отступов вообще, обязательные отступы даже плюс.

Классик, конечно, радикален, но что-то в этом есть. Может, Бейсик в чем-то и хорош, но те, кто изучал ООП по Вижуал Бейсику — 100% должны сюда попадать.

ну дык до ООП можно много чему учиться (циклы, рекурсия и т.д.) :) И тот же бейсик там тоже подойдет.

В Python переоценена роль Exceptions и (по слухам) излишне упрощенная объектная модель. (Кстати, там есть множественное наследование?)

Есть множественное наследование. Про exceptions ничего не скажу, сколь-нибудь большого опыта на питоне у меня нету. Так, чуть сложнее Hello World-а писал :)

В общем, мой выбор: Паскакаль для начала, Плюсы для продолжения

Даже в старом бейсике не было сильно статической типизации и обязательного объявления переменных (кажется только строкам в конце знак $ нужно было дописывать). И это IMHO удобно. Особенно в начале. А вместо плюсов есть еще java и .net :)

25.04.2009 0:54 Chris Archer

Есть множественное наследование.

Не методом интерфейсов, надеюсь. Уфф… Есть еще адекватность в объектных моделях. Но тем не менее, ее почему-то называют излишне упрощенной. Надо знакомых змееустов поспрашивать за подробностями.

Даже в старом бейсике не было сильно статической типизации и обязательного объявления переменных (кажется только строкам в конце знак $ нужно было дописывать). И это IMHO удобно. Особенно в начале.

Особенно в начале это удобство потом выходит боком. Строгая типизация нужна. Хотя, конечно, можно как в Ruby — строго, но без предварительного объявления, но Ruby, как я уже говорил — это для продолжающих

А вместо плюсов есть еще java и .net :)

.net всё же не язык… хотя говорим .net — подразумеваем c#… Жава имеет убогую объектную модель без множественного наследования и безобразную работу с памятью. Это как изучать комп, начиная с предустановленной Виндовс Виста — делать скоро сможешь многое, но понимать при этом не будешь нихрена.

C# как бейсик со слизанным у C++ синтаксисом и у Java объектной моделью попадает по соответствующие пункты по Java и Basic

25.04.2009 1:09 dion

Не методом интерфейсов, надеюсь. Уфф…

Методом интерфейсов — это не множественное наследование ;) Пример — Java с implements. Кстати чем это плохо?

Особенно в начале это удобство потом выходит боком. Строгая типизация нужна.

Многие другого мнения… И я с ними могу частично согласиться ;) Один из аргументов — один фиг руками проверять смысл значений параметров.

.net всё же не язык… хотя говорим .net — подразумеваем c#…

Да.

Жава имеет убогую объектную модель без множественного наследования и безобразную работу с памятью.

Чем убога объектная модель явы? Без множественного наследования можно жить. При чем вполне нормально. И накосячить заметно сложнее (например, нельзя добиться наследования “ромбиком”). GC, кстати, тоже вполне себе вещь. И с памятью всё относительно нормально. Ну и очень помогающие вкусности есть, вроде аннотаций.

Кстати, IDE с нормальным парсером жабовского кода много. Как минимум NetBeans, Eclipse. А вот нормальных парсеров плюсового кода практически нет. Убогий ctags не предлагать. А code completion, class hierarch и другие фичи современных IDE иметь хочется… Впрочем у того же CDT6 с плюсами _заметно_ лучше уже ;) Правда он еще далеко не релиз.

Это как изучать комп, начиная с предустановленной Виндовс Виста — делать скоро сможешь многое, но понимать при этом не будешь нихрена.

Не пользуюсь ;)

C# как бейсик со слизанным у C++ синтаксисом и у Java объектной моделью попадает по соответствующие пункты по Java и Basic

Тут я пасс. На C# не писал никогда. И код не читал

25.04.2009 1:19 Chris Archer

Кстати чем это плохо?

При коммерческом программировании все фишки Джава это плюс. При обучении — минус. Потому что прежде чем спрятать от разработчика работу с памятью, ему надо бы объяснить как оно работает. Чтобы сам написал пару реализаций для смарт-поинтеров. То же и к типизации, и к наследованию ромбиком.

Не пользуюсь ;)

Аналогично

25.04.2009 1:24 dion

Потому что прежде чем спрятать от разработчика работу с памятью, ему надо бы объяснить как оно работает. Чтобы сам написал пару реализаций для смарт-поинтеров. То же и к типизации, и к наследованию ромбиком.

В “чем это плохо” я спрашивал про отсутствие множественного наследования и их замену интерфейсами :)

Я вот, как уже говорил, с бейсика начинал (не Visual, см скриншот). Там работа с памятью спрятана не хуже чем в яве. И ничего, живу вроде.

Если ничего не прятать, тогда сразу в машинных кодах писать нужно… На худой конец — asm.

25.04.2009 1:36 Chris Archer

не visual — не ооп. нет ооп — нет активной работы с динамической памятью (заметное исключение — C, что ему не в плюс)

сильно, кстати, сомневаюсь, что на обычном бейсике возможно ООП… (на С и Паскале - возможно)

В “чем это плохо” я спрашивал про отсутствие множественного наследования и их замену интерфейсами :)

Хороший вопрос. Надо подумать. Сейчас это одна из вдолбленных истин, но когда я ее принимал, обоснование было… Мдя… Надо освежить память и перетряхнуть ценности.

25.04.2009 2:04 dion

не visual — не ооп. нет ооп — нет активной работы с динамической памятью (заметное исключение — C, что ему не в плюс)

сильно, кстати, сомневаюсь, что на обычном бейсике возможно ООП… (на С и Паскале - возможно)

Между первыми васиками с нумерацией строк и VisualBasic был еще QuickBasic. В котором не было нативного ООП, но есть структуры. Плюс можно получать адреса функций (вроде как). То есть нечто типа ООП можно накостылять.

Кстати, для ООП, по идее, вообще достаточно только массивов. Правда будет один большой switch (ну или куча if-ов, если массивов нет), в котором по имени или еще какому ключу, лежащему в массиве (типа vtable) будет вызываться нужная функция (или goto на нужную подпрограмму). Этот switch даже можно генерировать автоматически.

25.04.2009 2:10 Chris Archer

В котором не было нативного ООП, но есть структуры. Плюс можно получать адреса функций (вроде как). То есть нечто типа ООП можно накостылять.

Это не “что-то вроде ООП”. Это то ООП, в рамках которого я магистерский диплом пишу >__<

Кстати, для ООП, по идее, вообще достаточно только массивов.

ну… “программировать на фортране можно на любом языке программирования” (с)

Я всё-таки не имел ввиду методы удаления гланд через задний проход… а так, конечно, всё возможно

25.04.2009 2:13 dion

Это не “что-то вроде ООП”. Это то ООП, в рамках которого я магистерский диплом пишу >__<

Ты в дипломе изобретаешь ООП в бейсике или еще каком языке?

25.04.2009 2:16 Chris Archer

Не, я работаю с СУБД. Она написана на С в рамках ООП. Просто это как раз не более, чем структуры и указатели на функции

25.04.2009 2:11 dion

сильно, кстати, сомневаюсь, что на обычном бейсике возможно ООП… (на С и Паскале - возможно)

Я нашел: http://www.powerbasic.de/html/pb_dos_3_50.html :)

In addition, Code Pointers allow a programmer to call a SUB or jump to a label without needing to know its name. The CALL DWORD extension allow programmers to call subprograms by address and pass up to 16 parameters by reference.

Вот тебе и возможность реализовать vtable “по-человечески”. Вместе с массивами будет ООП не сильно хуже чем в C. :) Но чистый вариант с большим switch-ем — все равно более труъ вей. Особенно если делать нечего.

25.04.2009 5:15 Rion

вах, нашли повод пофлудить)))

25.04.2009 5:18 Chris Archer

скучно ночами

25.04.2009 10:45 dion

у меня флудильное настроение было :)

26.04.2009 20:32 PUSYA

А я вообще, флудная душа, у меня флюиды такие вота

Comment form for «Флудильное»

Required. 30 chars of fewer.

Required.

Comment post