2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.
 
 Re: Нужна ли программисту высшая школа?
Сообщение06.07.2016, 09:58 


19/07/15
74
Я делаю вывод о строго необходимой математике, объединив prerequisites перечисленных учебников. Учебники примерно соответствуют тому, что изучают бакалавры software engineering. Объединение prerequisites даёт калькулюс на уровне Зельдовича, Яглома "Высшая математика для начинающих физиков и техников" и хорошее знакомство с доказательством по индукции. Остальное изложено в самих учебниках по мере необходимости. В частности: дискретная вероятность, сложность (асимптотика), основы теории графов, основы теории конечных автоматов, контекстно-свободные грамматики, реляционная алгебра. Говорить, что такая математика (если считать это математикой) нужна - в общем-то тавтология; это и так неотъемлемая часть курса. Но да, отдельный курс т.н. дискретной математики, где эти же темы рассматриваются более абстрактно, всё же может быть полезен - потом учебники легче пойдут.

Утверждать, что чем больше математики будет знать программист, тем лучше - по-моему, трюизм из серии "свобода лучше, чем несвобода".

arseniiv

(Зачем учат Haskell)

arseniiv в сообщении #1136001 писал(а):
У хаскеля вполне достаточно пакетов


Я в курсе существования коммерческих продуктов на Haskell. Но, думаю, Вы и сами понимаете, какой процент знакомых с Haskell людей зарабатывает деньги непосредственно с использованием этого языка, а не просто пишет for fun.

 Профиль  
                  
 
 Re: Нужна ли программисту высшая школа?
Сообщение06.07.2016, 11:39 
Аватара пользователя


18/06/12

499
планета Земля
petrov_ich в сообщении #1136047 писал(а):
И если чел создаёт красивые сайты - он тоже программист, но ему важнее талант художника, чем математика.
Обычно красивые сайты создаются дизайнерами в фотошопе, навыки программирования там требуются минимальные или совсем не требуются. Верстальщик, который конвертирует .psd в HTML/CSS, уже может называть себя программистом, но лучше не в слух, чтобы не засмеяли. Только начиная с JS (в цепочке создания красивого сайта) уже начинается программирование, и то с натяжкой.

-- 06.07.2016, 10:52 --

Что касается Haskell, то это скорее будущее, чем настоящее, но не такое уж и далёкое. Краем уха слышал, что для многопоточного программирования использовать не функциональный подход - ССЗБ. Мне известно, что Haskell уже сейчас используется на видеокартах (боюсь сказать ерунду, но кажется, он может компилироваться в такой же байт-код, как и в С, только с чуть-чуть более эффективной типизацией), так же иногда его используют в больших компаниях (Яндекс, Фэйсбук, о других я не слышал), так же, я слышал о парне, который в одиночку написал читалку BazQux, которая стала более-менее успешным коммерческим продуктом... Но не советую всерьёз делать ставку именно Haskell - в Индии, ЕМНИП, его ввели в школьную программу, а значит, что с минуты на секунду в мире должны появиться миллионы этих Хаскеллистов, наверное, не очень весело будет с ними конкурировать.

Вместо заключения оставлю ссылку на своё любимое выступление на тему ФП, всё равно у меня нет по этой теме тезисов разумнее, чем у Дядьки Боба (1 час видео с экспертным мнением в категоричной форме).

 Профиль  
                  
 
 Re: Нужна ли программисту высшая школа?
Сообщение06.07.2016, 11:57 
Аватара пользователя


27/01/09
815
Уфа
Если программист недалекий (не имеет (технического) образования), то он и более-менее сложную поставленную ему задачу не поймет, или будет разбираться в ней долго-долго и с ошибками. Заказчик не обязан объяснять программисту вычислительный алгоритм задачи, именно программист должен составлять алгоритм решения задачи, а это математика, без нее выдающимся специалистом не стать. При этом чтение учебников не заменяет общения с преподавателями. Хотя на конечно рынке наверное 90% процентов задач это программирование в 1С.

 Профиль  
                  
 
 Re: Нужна ли программисту высшая школа?
Сообщение06.07.2016, 13:04 
Аватара пользователя


18/06/12

499
планета Земля
Chifu в сообщении #1136081 писал(а):
При этом чтение учебников не заменяет общения с преподавателями.
Скорее, общение с преподавателями не заменит чтения учебников и общения с компилятором (но далеко не всех даже айтишных дисциплин это касается). Иванов Петровичей в мире пруд пруди, старые уйдут на пенсию - бабы ещё больше новых нарожают, а СИКП только одна во веки веков, как Эвклидовские "Начала".

 Профиль  
                  
 
 Re: Нужна ли программисту высшая школа?
Сообщение06.07.2016, 16:25 
Заслуженный участник


27/04/09
28128

(Языки и деньги)

Kephe в сообщении #1136052 писал(а):
Я в курсе существования коммерческих продуктов на Haskell. Но, думаю, Вы и сами понимаете, какой процент знакомых с Haskell людей зарабатывает деньги непосредственно с использованием этого языка, а не просто пишет for fun.
Но это же не значит, что не может быть иначе. Непопулярность языка в зарабатывании денег с помощью разработки на нём — заслуга не одного только языка, а ещё и многого другого, немалую часть которого составляет просто мода (или можно сказать «инерционность», одно и то же).

(Хаскель и ээ… байткод?)

Eimrine в сообщении #1136071 писал(а):
(боюсь сказать ерунду, но кажется, он может компилироваться в такой же байт-код, как и в С, только с чуть-чуть более эффективной типизацией)
Не совсем понятно. (Здесь байт-код = машинный код, или это что-то интерпретируемое/JIT-компилируемое? Типизация в байт-коде — это тоже не очень понятно. У хаскеля нет отражения в смысле, скажем, C#, так что куда в этот код засунуть типы, совершенно непонятно.) Если понял правильно, то, разумеется, хаскель имеет компиляторы, самый известный и прекраснейший из которых — GHC, интерпретировать его не обязательно.

 Профиль  
                  
 
 Re: Нужна ли программисту высшая школа?
Сообщение06.07.2016, 16:56 
Аватара пользователя


18/06/12

499
планета Земля

(машинный код)

arseniiv в сообщении #1136162 писал(а):
Здесь байт-код = машинный код, или это что-то интерпретируемое/JIT-компилируемое?
Прошу прощения, конечно же я имел в виду машинный код.

arseniiv в сообщении #1136162 писал(а):
Типизация в байт-коде — это тоже не очень понятно.
Если я правильно помню, сишный машинный код вынужден хранить в себе информацию о типах данных, а в Haskell типы используются только на первых этапах компиляции и поэтому его машинный код при прочих равных слегка более эффективен.

 Профиль  
                  
 
 Re: Нужна ли программисту высшая школа?
Сообщение06.07.2016, 17:13 
Заслуженный участник


27/04/09
28128

(Машинный код)

Хм, почитал про variable modified types и удивился. Но вообще кроме этого нужды хранить информацию о типах в коде из C, вроде бы, никакой.

В хаскеле информация о типах во время выполнения тоже иногда нужна: например, функция с типом Show a => a -> ... не знает, значение какого типа ей подсунут, так что будучи скомпилированной, она будет требовать дополнительным аргументом штуку, аналогичную vtable в языках с ООП. Иногда можно, конечно, разобраться статически, с какими типами эта функция будет иметь дело и соорудить специализированный код, но иногда нет.

 Профиль  
                  
 
 Re: Нужна ли программисту высшая школа?
Сообщение06.07.2016, 20:45 


20/09/09
2100
Уфа
Kephe в сообщении #1135887 писал(а):
Например, для "полноценного" программиста можно потребовать соблюдения примерно таких условий:

1) Знание материала в объёме перечисленных учебников (способность решать имеющиеся в учебниках задачи):
  • Sussman, Abelson "Structure and Interpretation of Computer Programs"
  • Cormen, Leiserson, Rivest "Introduction to Algorithms"
  • Tanenbaum "Modern Operating Systems"
  • Tanenbaum "Computer Networks"
  • Aho, Sethi, Ullman "Compilers: Principles, Techniques, and Tools"
  • Date "An Introduction to Database Systems"
  • Что-нибудь по архитектуре компьютера, включая элементарные навыки программирования на каком-нибудь ассемблере

Еще требуют многопоточное программирование.

-- Чт июл 07, 2016 00:34:33 --

Eimrine в сообщении #1135980 писал(а):
если ваше увлечение программированием началось в ВУЗе, то у меня для вас плохие новости...

У меня знакомый окончил специальность "Программное обеспечение" в уфимском вузе в 1993-м году, увлекался искусственным интеллектом. Сейчас он national architector в Силиконовой Долине с недурным окладом (до этого был .NET девелопером).

 Профиль  
                  
 
 Re: Нужна ли программисту высшая школа?
Сообщение06.07.2016, 22:05 


19/07/15
74
Rasool в сообщении #1136237 писал(а):
Еще требуют многопоточное программирование.


В указанном в списке учебнике Tanenbaum "Modern Operating Systems" эта тема более-менее раскрыта (в частности, "проблема обедающих философов" и т.п. вещи там есть). Не так подробно, как в спецкурсах, но тем не менее. И даже в SICP есть чуть-чуть.

 Профиль  
                  
 
 Re: Нужна ли программисту высшая школа?
Сообщение07.07.2016, 00:47 
Аватара пользователя


18/06/12

499
планета Земля

(Haskell)

arseniiv в сообщении #1136181 писал(а):
Но вообще кроме этого нужды хранить информацию о типах в коде из C, вроде бы, никакой.
По-моему, это нужно, чтобы иметь возможность выкинуть Segmentation Fault, если императивный программист захочет сделать что-нибудь странное с типами. Haskell тоже умеет сегфолтить, но у него хотя бы есть "безопасная зона". Снова боюсь сказать глупость, но в сях тоже есть своеобразная "безопасная зона" - указатели на указатели, которые реализуют нечто, отдалённо похожее на ленивые вычисления, но ИМХО, это страшный оверхэд, страшнее которого разве что только макросы.


arseniiv в сообщении #1136162 писал(а):
Непопулярность языка в зарабатывании денег с помощью разработки на нём — заслуга не одного только языка, а ещё и многого другого, немалую часть которого составляет просто мода
Всё просто: типичный менеджер, какую бы разработку он не курировал, скорее всего выберет Java для того, чтобы всегда иметь возможность заменить любого работника. Каждому программисту приходится расти между двух крайностей: стать хорошим винтиком (и начать зарабатывать немедленно) или экстремально хорошим "соло-программистом" (а деньги - чёрт с ними).

-- 06.07.2016, 23:55 --

(немного троллинга)

Rasool в сообщении #1136237 писал(а):
У меня знакомый окончил специальность "Программное обеспечение" в уфимском вузе в 1993-м году, увлекался искусственным интеллектом. Сейчас он national architector в Силиконовой Долине с недурным окладом (до этого был .NET девелопером).
Как только я стану дотнет девелопером, сразу пойду заканчивать уфимский вуз, чтобы мигрировать в Калифорнию - недурный оклад на дороге не валяется...

Kephe в сообщении #1136249 писал(а):
И даже в SICP есть чуть-чуть.
Вы правы, в SICP есть чуть не многопоточного программирования: на странице 294 презентуется оператор присваивания :wink:

 Профиль  
                  
 
 Re: Нужна ли программисту высшая школа?
Сообщение07.07.2016, 01:05 
Заслуженный участник


15/05/05
3445
USA
timber в сообщении #1135868 писал(а):
О, да!
Вот он: http://javarush.ru/cs50.html
А кстати, есть аналогичный курс по математике, чтобы за неделю прокачаться больше, чем за год на мехмате?
Так "прокачаться" можно только во "Вселенной EVE".

Насчет курса CS50: если Вы надеетесь за эти 25 часов освоить Computer Science, то Вы будете сильно разочарованы. Вот на кого рассчитан это курс:
Цитата:
Currently, only about 10% of students enrolled in the course have any kind of background in computer science. The rest are taking it purely out of interest.
И уровень изложения - соответствующий.

 Профиль  
                  
 
 Re: Нужна ли программисту высшая школа?
Сообщение07.07.2016, 01:14 
Заслуженный участник


27/04/09
28128

(Языки и деньги)

Eimrine в сообщении #1136264 писал(а):
Всё просто: типичный менеджер, какую бы разработку он не курировал, скорее всего выберет Java для того, чтобы всегда иметь возможность заменить любого работника. Каждому программисту приходится расти между двух крайностей: стать хорошим винтиком (и начать зарабатывать немедленно) или экстремально хорошим "соло-программистом" (а деньги - чёрт с ними).
Да я знаю этот аргумент. Но надо помнить, что Java существовала не всегда. И не всегда она (в смысле язык, а не JRE), вероятно, будет среди первых. Потому лично я не буду смешивать популярность языка и те его свойства, которые определяются только тем, что с ним непосредственно связано. Например, документация, плагины для распространённых IDE (или своя), удобное управление пакетами etc.. Посередине, правда, оказывается сообщество (и разработчиков, и просто пользователей), я его относить не буду ни к первому, ни к второму.

 Профиль  
                  
 
 Re: Нужна ли программисту высшая школа?
Сообщение07.07.2016, 01:20 
Заслуженный участник


15/05/05
3445
USA
Eimrine в сообщении #1136264 писал(а):
Всё просто: типичный менеджер, какую бы разработку он не курировал, скорее всего выберет Java для того, чтобы всегда иметь возможность заменить любого работника.
Совершенно верно. Потому что главная задача любого менеджера - обеспечить выполнение проекта. А вот развитие Computer Science в список его задач если и входит, то редко-редко. И "заменить любого работника" в 99% случаев означает не "уволить перца, который ему не нравится", а "срочно найти замену сильному специалисту, который нашел работу с большим окладом".

 Профиль  
                  
 
 Re: Нужна ли программисту высшая школа?
Сообщение07.07.2016, 07:26 


19/07/15
74
Eimrine

(set! ...)

Eimrine в сообщении #1136264 писал(а):
в SICP есть чуть не многопоточного программирования: на странице 294 презентуется оператор присваивания

Его и презентовали-то с изрядным закошмариванием, а глава про синхронизацию/дедлоки не иначе как призвана окончально убедить читателя в ужасах императивщины и обратить его в правильную веру :mrgreen:

 Профиль  
                  
 
 Re: Нужна ли программисту высшая школа?
Сообщение08.07.2016, 20:59 
Аватара пользователя


09/12/14
78
Программисту нужно не высшее образование, а специализированное, для той области в которой он собирается работать.

Eimrine в сообщении #1136071 писал(а):
Только начиная с JS (в цепочке создания красивого сайта) уже начинается программирование, и то с натяжкой.
Без натяжек, как раз с JS программирование начинается даже серьезней чем с Си или ассемблера, если конечно речь не идет о вставке падающего снега на сайт. :lol:

Chifu в сообщении #1136081 писал(а):
Если программист недалекий (не имеет (технического) образования), то он и более-менее сложную поставленную ему задачу не поймет, или будет разбираться в ней долго-долго и с ошибками.
В эпоху интернет, в более-менее цивилизованных странах люди больше не делятся на недалеких и "далеких", деление теперь немного другое. По факту, достаточно 9 классов школы (а то и меньше) что-бы, при желании, самостоятельно освоить какую-либо область знаний до приличного уровня. И среди технически ориентированных областей, программирование, пожалуй одна из наиболее легких для самостоятельного освоения.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 101 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.

Модератор: Модераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: ydxd_123


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group