Маслобойка

Ты слышал про парня, который распрощался с OOП?

О нет. Ещё один? Что он сказал?

Он сказал, что ни одно из всех обещаний OOП на самом деле не исполнено, что все преимущества ООП гораздо дороже того, чего реально стоят, и функциональное программирование лучше, и …

Ох. Да, это всё было известно раньше…

Читать далее «Маслобойка»

50+ полезных ресурсов для самообучения

На сегодняшний день, когда информация стала доступна как никогда и получить новые знания проще простого, у нас появилась другая проблема: как фокусироваться и структурировать новые знания, если отсутствуют внешние ограничения вроде экзамена или необходимости подготовки к уроку?
И снова нас спасают разработчики и интернет, где появляется все больше открытых университетов, онлай-курсов, лекций и сервисов организации своего обучения.
Читать далее «50+ полезных ресурсов для самообучения»

Проектирование классов в шутку и всерьез

Иногда так бывает — соберутся люди и начинают обсуждать серьезные проблемы. И устают уже, а все равно продолжают. Остановиться уже не могут, потому как несерьезно получится. И мысли уже кончаются. И тут кто-то говорит шутку и все смеются и ситуация разряжается. Как такая шутливая разрядка и появилась эта работа. Несмотря на шутливость и кажущуюся несерьезность, доля интересного и полезного в ней есть.
Как проектировать классы?
Читать далее «Проектирование классов в шутку и всерьез»

Труд и соперничество

One thing is certain: learning how to program well requires a great amount of exercise and confrontation. Exercise in order to get the agility, confrontation in the sense that the learning student must struggle in order to discover how hard programming is: and after having constructed a one- or two-page program in four hours of hard work, show him an eight-line solution that a more competent programmer wrote down within fifteen minutes. It is cruel, but without that confrontation the student will remain stuck at his current level of competence, unless he can learn, all by himself, from his own experience. But people who can do that are extremely rare: if one of our students can do that, he will soon be our Master!

Programming methodologies, their objectives and their nature (EWD469).
prof.dr.Edsger W. Dijkstra
Burroughs Research Fellow
Plataanstraat 5
NUENEN – 4565
The Netherlands

 

Наверняка можно сказать одно: что бы стать хорошим программистом, необходимо выполнить огромный объём упражнений, а кроме того — соперничество. Упражнения позволят приобрести ловкость, а соперничество необходимо в том смысле, что при обучении студент должен бороться, познавая истинную тяжесть программирования, когда после четырёх часов напряжённейшей работы, выстрадав одну или две страницы кода, он увидит восемь строк решения, которое за пятнадцати минут сделал более грамотный программист. Жестоко, но без соперничества, студент застрянет на своём текущем уровне компетентности, если он не способен постигать всё сам, обретая свой собственный опыт. Люди, которые это могут делать, крайне редки — если один из наших студентов сможет это сделать, то скоро будет настоящим Мастером!

Два взгляда на программирование

Источник перевода: EWD540

В окружающем нас мире мы сталкиваемся с двумя коренным образом различными взглядами на программирование:

  • Точка зрения А: программирование в сущности очень просто.
  • Точка зрения В: программирование по сути очень сложно.

Дискуссию можно закрыть и на этом успокоиться, если сделать предположение, что одно и то же слово «программирование» в двух проекциях приобретает довольно различные значения. Однако, то какая точка зрения является преобладающей имеет огромное значение и оказывает влияние не только на учебные программы наших высших учебных заведений и кадровую политику организациях использующих компьютеры, но и даже на направление развития и исследования в самой науке о вычислениях. В связи с этим представляется целесообразным исследовать природу различий между этими двумя точками зрения и определить, если это возможно, исходные посылки, соответствующие каждой из них. Сделать это — цель настоящей статьи.
Читать далее «Два взгляда на программирование»

С++ — «латинский» XXI века

I’m going back to ones and zeros.
(You had ones? Lucky bastard! All we got were zeros.)
The Perils of Java Schools by Joel Spolsky, Thursday, December 29, 2005
 
Я возвращаюсь назад к нулям и единицам.
(У тебя есть единицы? Везучий отморозок! У нас были только нули.)
Опасности Java школ. Джоэл Спольски, четверг, 29 декабря 2005

Все чаще и чаще, в разговорах бывалых возникает тема — «программисты скоро вымрут, и останутся дизайнеры программного обеспечения».

Читать далее «С++ — «латинский» XXI века»

Настоящие программисты не пишут на Паскале

Эссе о программировании — классика околокомпьютерной сатиры, которое написал Эд Пост (Ed Post) из Орегонской компании Tektronix. Оно было опубликовано как письмо редактору в 29-м томе 7-го выпуска журнала Datamation в июле 1983 года. Название статьи пародировало название сатирической книги-бестселлера Настоящие мужики не едят пироги с заварным кремом, высмеивающей стереотипы о мужественности.

Эта cтатья в своё время широко обсуждалась в новостных cкомпьютерной сети Usenet и была хорошо известна многим специалистам индустрии производства программного обеспечения. Статья породила множество подражаний и отсылок к предмету обсуждения.

Статья сравнивает и противопоставляет Настоящих Программистов, которые используют перфокарты и программируют на Фортране и Ассемблере, современным «пожирателям пирогов с заварным кремом», которые используют такие языки программирования как Pascal, которые поддерживают структурное программирование и накладывают определённые ограничения с целью предотвращения наиболее распространённых ошибок в логике работы программы. В статье приводился ряд подвигов Настоящих Программистов, таких как подвиг Сеймура Крэя — создателя суперкомпьютера Cray-1, набравшего операционную систему для компьютера CDC 7600 с консоли по памяти для того, чтобы его запустить.

Читать далее «Настоящие программисты не пишут на Паскале»