много языков хороших и разных. но почему-то все зациклино на плюсах, жаве и шарпе. дискуссия?

зы
сообщество превращаеться в хелпдеск, исправляем ситуацию товарЫсчи

Вопрос: должен ли программист изучать языки программирования даже если они не будут использоваться напрямую?
1. должен 
14  (35%)
2. обязан 
5  (12.5%)
3. обречен 
18  (45%)
4. зачем, если родная корпорация обо всем позаботиться? 
2  (5%)
5. мне бы русский выучить... 
1  (2.5%)
Всего:   40
Комментарии
13.11.2008 в 14:59

I'm not dead... yet.
по-моему, должен. конечно если стоит конкретная задача работать на таком-то языке и такими-то средствами, то изучать что-то другое не обязательно. но все равно желательно (во-первых для расширения кругозора, во-вторых, не век же на этом месте сидеть)
и, к тому же, когда тоьлко принимаешь решение начинать разработку на таком-то языке, тут именно кругозор очень важен, чтобы перебрать известные тебе языки и оценить возможные проблемы, легкость разработки и т.д. для выбора наиболее подходящего...
13.11.2008 в 15:11

149ea694a792f3ad2caaf77077a0df58 Спорящая с богом
Обязан. По крайней мере Си и Ассемблер. Просто чтобы понимать "как оно тикает".
13.11.2008 в 15:17

охо... целых два пособника микросоветов. прошу их не стесняться и высказать все что они думают по поводу (-;

Just-a-Shadow от вас хотелось бы услышать ответ на мой вопрос в соседней теме. тут он уже не офтоп, хехе
13.11.2008 в 15:36

Люди никогда не достигнут совершенства, пока будут оставаться людьми...
Чтобы научиться писать программы на каком-то языке - нужно начать на нём думать. Это как с зарубежными (английским, китайским и так далее). Например есть язык perl - у него совершенно иная, уникальная философия. Чем больше языков знаешь, тем больший арсенал решений имеешь.
13.11.2008 в 15:40

D'oh!
Не сколько языки, сколько технологии ;) смотрите в корень
13.11.2008 в 17:27

IDDQD - Команда молодости нашей, команда, без которой мне не жить.
Не сколько языки, сколько технологии ;) смотрите в корень
Совсем не обязательно. Технология без языка - примитивный набор утиля. Язык без технологии - лишь изящная игрушка. ;) И только вместе они составляют нечто цельное, с помощью чего можно решить поставленную задачу. Насколько простым окажется решение - зависит от выбора и первого и второго.
13.11.2008 в 17:40

IDDQD - Команда молодости нашей, команда, без которой мне не жить.
Обязан. По крайней мере Си и Ассемблер. Просто чтобы понимать "как оно тикает".
Думаю, что уже нет... Лет дцать назад - да. Сейчас... Задачи решаются на таком уровне асбтракции и такими средствами, что знание того же ассемблера практически бесполезно. Ну, право дело, какой толк от этих знаний при использовании grid- или cloud-технологий, когда задействованы процессорные мощности многих тысяч машин различных программно-аппаратных конфигураций? Когда все больше и больше кода транслируется в байт-код или IL, и программист только в одном случае из нескольких тысяч будет работать непосредственно на аппаратном уровне? Когда ты утром отлаживаешь некий код на плюсах под intel-платформой, а вечером тот же код, но под SPARC? :) А через неделю приедут маки на базе PPC, и ты продолжаешь отлаживать все тот же код, но уже под PowerPC? :)
Да, вот PDA-шникам и разработчикам кода под микроконтроллеры - им да, знание С и ассемблера просто необходимо.
13.11.2008 в 17:47

149ea694a792f3ad2caaf77077a0df58 Спорящая с богом
Flex Ferrum
Жизнь иногда круто меняется. Я 2,5 года работала под Веб, а потом поменяла работу и теперь пишу под embeded. Чёрта с два у меня бы прошёл такой номер, если бы я не понимала программу изнутри.
13.11.2008 в 18:27

IDDQD - Команда молодости нашей, команда, без которой мне не жить.
Жизнь иногда круто меняется. Я 2,5 года работала под Веб, а потом поменяла работу и теперь пишу под embeded. Чёрта с два у меня бы прошёл такой номер, если бы я не понимала программу изнутри.
C одной стороны да. С другой - возможно, не знай вы ассемблер (и программу изнутри) нашли бы другое применение. Я к тому, что знание аппаратной архитектуры целевой в настоящее время далеко не всегда является необходимым. Но то, что приветствуется - это да. :)
13.11.2008 в 18:59

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

Я не врубась в вопрос. Если человек учит какойто язык из-за того что ему понравилась идея, или там синтаксис, или там еще чтонибудь, то почему он не будет им пользоваться на прямую ? Откуда он может знать будет, он его использовать в будущем или нет. Вероятность имхо всегда есть.

А учить язык чтобы его выучить и, к примеру, осознать что же на самом деле есть функциональное программирование, а потом этот язык забыть ( но не основные принципы ) имхо можно, если у вас есть столько свободного времени, а так лучше уж чем нибудь интерессным заняться ))

так что я за ответ "нет" которого нет ))
13.11.2008 в 19:22

Люди никогда не достигнут совершенства, пока будут оставаться людьми...
SonicCat, ну нет, не спорю, если человек строитель, например, то ему всё функциональное программирование со всем ЛЯМБДА-исчислением в баню упало. И тот факт, что ООП оттуда пошло, тоже по идее не интересует. Есть инженеры-программисты, а есть математики-программисты. И тут как говорится "две большие разницы", потому что одним подавай C++ со своим STL и больше ничё не надо. Вторые же копаются в сути. Одни гонятся за формочками, кнопочками, визуализацией и прочей лажей, а другие -- пытаются оптимизировать код, писать нормальные алгоритмические конструкции, модифицировать уже имеющиеся алгоритмы. И те и те имеют права на жизнь. Другое дело, что человек, который не умеет программировать, а знает тока синтаксис стандартной библиотеки языка -- далеко не уйдёт.
13.11.2008 в 19:32

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

hauff (раз возможный виндофаг) а что вы подразумеваете под "технологией"? в няшной сишке вот нет никаких "интегрированных мегатехнологий", однакож это не мешает ей широко использоваться в системном программировании.

Flex Ferrum предидущий вопрос и к вам тоже.

Ну, право дело, какой толк от этих знаний при использовании grid- или cloud-технологий, когда задействованы процессорные мощности многих тысяч машин различных программно-аппаратных конфигураций?
.не забываем что сейчас почти все что есть - вариации на тему машины фонНеймана. а значит там общего много больше чем "патентованых технологий"(тм) и прочих особенностей. стоит разобраться в одной-двух архитектурах хотябы для понимания принципа работы памяти, а способ ее использование заметно влияет на ассимптотику получившейся программы, если вы понимаете о чем я (-;

Когда все больше и больше кода транслируется в байт-код или IL
хм... вы и правда думаете что это от хорошей жизни? тянет на отдейльную тему... готов в этом месте яростно спорить
13.11.2008 в 19:48

SonicCat (два возможный виндофаг) почему не использовать? ну хотябы потому что на работе все пишут на плюсах\жаве\диезе и изменить это никак нельзя, ибо корпоративный стандарт, интеграция в существующие системы и все такое.
13.11.2008 в 20:18

А ты уже научился заряжать левой ногой свой телефон?
[revolver]
Одни гонятся за формочками, кнопочками, визуализацией и прочей лажей
еще-бы, ее пользователи любят и оценивают ПО именно по этой лаже
+ она продается ))

Другое дело, что человек, который не умеет программировать, а знает тока синтаксис стандартной библиотеки языка -- далеко не уйдёт.
Ну это анрил вообще )) этот человек точно выбрал для себя другую профессию

slackovod
Ну так для себя писать ))
13.11.2008 в 20:19

IDDQD - Команда молодости нашей, команда, без которой мне не жить.
.не забываем что сейчас почти все что есть - вариации на тему машины фонНеймана. а значит там общего много больше чем "патентованых технологий"(тм) и прочих особенностей. стоит разобраться в одной-двух архитектурах хотябы для понимания принципа работы памяти, а способ ее использование заметно влияет на ассимптотику получившейся программы, если вы понимаете о чем я (-;
Дело то в другом. Какой мне толк от знания x86-ассемблера (с CISC-набором команд) на RISC-архитектуре SPARC'а? Несмотря на то, что и то и то - вариации на тему машины фон Неймана. :) А потом я возьму в руки распараллеливающий компилятор (что-нибудь от ведущего производителя), и доооолго буду медитировать над полученным кодом. :) Или толкну долго лелеянный исходник на компиляцию с помощью gcc с ключиком -fopenmp, и проведу бессонную ночь вылавливая ошибки из за того, что теперь не все и не везде обрабатывается строго последовательно. :)
Да, полезно знать - что лежит в основе. Но сейчас не менее (если не более ценно) владение именно инструментом. А также знание особенностей его работы. Я так думаю...
вы и правда думаете что это от хорошей жизни?
В данном случае я не думаю, а факт констатирую. :)
ну хотябы потому что на работе все пишут на плюсах\жаве\диезе и изменить это никак нельзя, ибо корпоративный стандарт, интеграция в существующие системы и все такое.
Тут то как раз все просто. Пишут на том, что позволяет достичь результата в кратчайшие сроки. Промышленная разработка - она такая. Увы.
13.11.2008 в 20:23

[revolver]
функциональное программирование со всем ЛЯМБДА-исчислением в баню упало. И тот факт, что ООП оттуда пошло
откуда дровишки?
13.11.2008 в 21:23

149ea694a792f3ad2caaf77077a0df58 Спорящая с богом
Flex Ferrum
Ну ты ж на том ассемблере не писать собрался, тебе ж его понимать надо. Нам в колледже сначала обзорно читали рисковые процессоры с их ассемблером, потом подробно 2 семестра дрочили 8086 и его ассемблер. Так вот, общего у них больше, чем у любого из этих ассемблеров с Си. Так что обзорное знание и понимание любого из этих процессоров с ассемблером помогает программировать на большинстве языков на любой платформе.
13.11.2008 в 21:43

IDDQD - Команда молодости нашей, команда, без которой мне не жить.
Ну ты ж на том ассемблере не писать собрался, тебе ж его понимать надо. Нам в колледже сначала обзорно читали рисковые процессоры с их ассемблером, потом подробно 2 семестра дрочили 8086 и его ассемблер. Так вот, общего у них больше, чем у любого из этих ассемблеров с Си. Так что обзорное знание и понимание любого из этих процессоров с ассемблером помогает программировать на большинстве языков на любой платформе.
Хм. И, позволь уточнить, как знание ассемблера (т. е. чисто императивного низкоуровневого языка) поможет мне в понимании процессов, происходящих в объектно-ориентированной системе, техник мета-программирования, и прочего подобного?

Вот, грубо говоря, пишу систему генерации отчетов. Основной инструмент - диез (как его тут обозвали) и SQL, морда - на ASPX. При этом "думаю" в терминах элементов интерфейса, сущностей предметной области и запросов к БД. Из алгоритмики - 99% это foreach и if. Ну и зубодробильные SQL-запросы к СУБД. Максимум, что я должен себе в данном случае представлять (из низкоуровневого) - это как SQL-сервер соптимизирует SQL запрос, в нужном ли формате и виде придут данные из БД, нормализована ли схема, да как мне от ASPX-контролов добится нужного поведения. Все. В каком месте тут ассемблер? :)
13.11.2008 в 22:05

149ea694a792f3ad2caaf77077a0df58 Спорящая с богом
Flex Ferrum
В этом - ни в каком. Для общего развития только. Но как правило мало кому удаётся годами сидеть на одной теме. А кто сидит - воет.
13.11.2008 в 23:12

IDDQD - Команда молодости нашей, команда, без которой мне не жить.
В этом - ни в каком. Для общего развития только.
Об том и речь. Но когда я начинал - без знания ассемблера действительно было не тпру ни ну... Ибо нормальных оптимизирующих компиляторов было только два (Zortech и Watcom), а из всех "технологий" - 10-ое и 21-ое прерывания доса, да прямой доступ к видеопамяти... :)

Годами действительно сложно сидеть на чем-то одном. Но для того оно развитие (и изучение нового) и требуется.
14.11.2008 в 13:08

Люди никогда не достигнут совершенства, пока будут оставаться людьми...
slackovod, теория функционального программирования. Она ж вроде одна для всех.
14.11.2008 в 15:37

Тот в кого пихают много - обычно не знает хорошо даже чего-то одного.

Дополнительные языки программирования должны идти факультативом(также как и нефундаментальные дисциплины)! Иначе мир превратится в ОГРОМНЫЙ ХЕЛП-ДЕСК!!!!!
14.11.2008 в 16:50

149ea694a792f3ad2caaf77077a0df58 Спорящая с богом
Тигр
тот в кого пихают - вообще ничего не знает. Программист должен учиться сам, всю жизнь, до пенсии.
15.11.2008 в 03:49

Караидель, да, и не только программист должен учится сам.

Только программистов все штампуют и штампуют в ВУЗах - а их все меньше и меньше на выходе. Значит, какая-то нестыковочка в логике ВУЗов имеется?
15.11.2008 в 05:07

Люди никогда не достигнут совершенства, пока будут оставаться людьми...
Тигр, штампуют не программистов, а людей, имеющих димлом "Математик. Программист."
15.11.2008 в 05:42

[revolver], вот поэтому все дополнительные языки программирования и левые дисциплины должны быть вынесены в факультатив(кто пришел в универ Excel выучить - возьмет его дополнительным курсом без проблем), а по математике и алгоритмизации под которую освободится больше часов - должен быть жесткий прессинг("Математики.Программисты" должны отсеиваться моментально)! То что штампуют сейчас - можно подготовить за год, а не за 5 лет..

Но это конечно мечты... Пока что приходится сдавать 90% всякой левости, из-за 10% полезных знаний. А левость - в мозгу не задерживается.
15.11.2008 в 10:18

Тигр ... итого приходим к МТИшной схеме образования где студенты сами выбирают себе курсы (%
вообще согласен, но разговор какбэ не об этом.
15.11.2008 в 13:54

Люди никогда не достигнут совершенства, пока будут оставаться людьми...
Тигр, нет. Ты не прав. "Левые языки", как ты выразился развивают иное мышление. Левых дисциплин тоже не бывает. Excel это конечно бред, но у нас его и нету)
15.11.2008 в 16:01

имхо должен. хотя бы что бы представлять. один из моих знакомых, считает, что каждый программист должен стараться в год узнать по 2 новых языка. но конечно, никто ни к чему не обязывает... на мой взгяд было бы полезно, если бы все знали хотя бы по одному языку из разных групп) это полезно и развивает мышление.
15.11.2008 в 16:13

149ea694a792f3ad2caaf77077a0df58 Спорящая с богом
puity
Я бы сказала 2 новых языка или технологии. Под технологиями я имею в виду AJAX, FLEX, очередная платформа дотнет, в которой добавок много, но сам язык уже знаком.