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
814
Уфа
Если программист недалекий (не имеет (технического) образования), то он и более-менее сложную поставленную ему задачу не поймет, или будет разбираться в ней долго-долго и с ошибками. Заказчик не обязан объяснять программисту вычислительный алгоритм задачи, именно программист должен составлять алгоритм решения задачи, а это математика, без нее выдающимся специалистом не стать. При этом чтение учебников не заменяет общения с преподавателями. Хотя на конечно рынке наверное 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
2026
Уфа
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  След.

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



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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