• Linux Forum
  •  » 
  • Работа
  •  » 
  • Об актуальности языков и технологий программирования

#1 27.03.2010 22:32:15

Iced
Administrator
Зарегистрирован: 22.02.2010
Сообщений: 1 890
IP-адрес

Об актуальности языков и технологий программирования

Навеяно темой - http://linuxforum.ru/viewtopic.php?id=1711
Задумался. /me студент, учится на компьютерном факультете. Пусть и не совсем программист, скорее математик, да не суть важно =) умные люди везде нужны, я так понимаю, работодатели особо не смотрят, что там написано в этом дипломе, и какого цвета (= важнее то, что человек знает, и умеет.

Так вот, задумался об актуальности различных языков программирования. Сейчас, куда не плюнь, практически везде сильнее всего востребованы Java и .Net. Второй даже не обсуждаем. =) Думаю, вполне понятно, почему. На линуксовом-то форуме.
Первый тоже как-то мне не нравится. Пока не пробовал программировать, но судя по описанию и отзывам - тормоз ещё тот, и прожорливый. Кстати, .net, по-моему, тоже тормоз. %(
В чём прикол - до конца непонятно. Да, хорошо, конечно, когда "написал один раз - запустил везде" для java. Может, в каких-то случаях актуально. Но разве нельзя, использую, к примеру, те же C/C++ добиться той же самой кроссплатформенности? Если при разработке заранее условиться использовать кроссплатформенные библиотеки, и т.п... обойтись без системных вызовов. Как-то так. Или при разработке предусматривать возможность запуска откуда угодно, как с макоси, как с бсд, как с линукса, так и с виндовса (грубо говоря, понапихать, где надо, условных операторов)

В чём прикол .net - тем более не пойму. О кроссплатформенности можно забыть. То, что написано, будет работать только под Windows. Про mono не надо (= это ведь не официальный порт от m$ (им это вроде бы не надо) - отдельный проект, да и непонятно, как он там - лицензий не нарушает, и т.п... Чем он так хорош, что добился такой популярности?

И как по поводу популярности других языков программирования, помимо java/c#? Вообще, есть ли возможность зарабатывать на том, что нравится? :) Или кушать хочется => придётся делать, что скажут, чтобы платили при этом?

#2 27.03.2010 22:36:12

Aspedin
Administrator
Зарегистрирован: 22.02.2010
Сообщений: 2 149
IP-адрес

Об актуальности языков и технологий программирования

И как по поводу популярности других языков программирования, помимо java/c#? Вообще, есть ли возможность зарабатывать на том, что нравится? :) Или кушать хочется => придётся делать, что скажут, чтобы платили при этом?

В связи с попыткой перенести всё больше в web сейчас востребованы специалисты по web-языкам. Тот-же javascript, php...и конечно-же Ruby on rails

#3 27.03.2010 22:36:40

system-root
Administrator
Зарегистрирован: 22.02.2010
Сообщений: 3 590
IP-адрес

Об актуальности языков и технологий программирования

Flaming, опять о высоком?

Вообще, есть ли возможность зарабатывать на том, что нравится?

безусловно, но не в каждой стране.

#4 27.03.2010 23:04:19

Iced
Administrator
Зарегистрирован: 22.02.2010
Сообщений: 1 890
IP-адрес

Об актуальности языков и технологий программирования

system-root, не отходите от темы.

#5 27.03.2010 23:17:33

system-root
Administrator
Зарегистрирован: 22.02.2010
Сообщений: 3 590
IP-адрес

Об актуальности языков и технологий программирования

нет, ну вопрос вообще на самом деле философский. нужно либо стать профессионалом в своем деле (не важно что это) и тогда всё будет замечательно - работа сама вас найдет, либо повестись на мейнстрим и потребности в вашем городе - и тогда.. возможно вы станете соавтором очередного УГ госзаказа для ЖКХ и вас и всю вашу команду будут проклинать все админы города.
что тут думать то?

#6 28.03.2010 07:03:32

Hvzh
Administrator
Зарегистрирован: 01.01.1970
Сообщений: 5 730
IP-адрес

Об актуальности языков и технологий программирования

Flaming,
Зная С/С++ тоже можно заработать. Например, у крупной компания БПЦ (Банковский Производственный Центр) весь процессинг написан на С. Они не хотят переходить ни на C++, ни на Java, ни на что-либо еще. А рабочие места процессинговой системы компании Tietoenator написаны целиком на Python.

По поводу java. Ценится она не только за кросс-платформенность. В первую очередь за то, что в данный язык в рантайм встроено множество различных фич - applets, servlets, RPC, DCE, JDBC, JMS, XML, SOAP, WSDL - в общем, все, что позволяет построить систему распределенных вычислений, которые сейчас очень востребованы. На С/C++ разработка таких приложений с нуля займет времени на порядок а то и на несколько порядков больше. Во вторую очередь за то, что она лишена многих серьезных недостатков C++. Например, в Java отсутствуют указатели, множественное наследование, зато присутствует автоматическая сборка мусора (delete отсутствует как класс, переменная уничтожается автоматически как только уходит за пределы видимости). Насчет скорости работы. Если вы пишете на java приложение со сложным графическим интерфейсом, то такое приложение будет работать медленнее, чем аналогичное, написанное на C++, например (скажем, это очень хорошо видно на таких примерах, как Eclipse, NetBeans и, особенно, IBM RAD). Однако, на сегодняшний момент бОльшая часть значимых приложений, написанных на java, это приложения J2EE без графического интерфейса.

#7 28.03.2010 09:07:06

Iced
Administrator
Зарегистрирован: 22.02.2010
Сообщений: 1 890
IP-адрес

Об актуальности языков и технологий программирования

Например, в Java отсутствуют указатели, множественное наследование

Это преимущество???
зато присутствует автоматическая сборка мусора

Не доверяю я автоматике.
На С/C++ разработка таких приложений с нуля займет времени на порядок а то и на несколько порядков больше.

Мы сейчас в универе на одной дисциплине пишем простенькие параллельные приложения на библиотеке mpich2 =)
Не знаю, на самом деле, где лучше/удобнее/быстрее/оптимальнее в данном случае. Не сравнивал.
В java, я так понимаю, распределённые вычисления встроены в язык?

Не доверяю я автоматике.

Да, и компьютерам я тем более не доверяю =)

#8 28.03.2010 09:55:17

Hvzh
Administrator
Зарегистрирован: 01.01.1970
Сообщений: 5 730
IP-адрес

Об актуальности языков и технологий программирования

Flaming,

Это преимущество???

Огромное

#9 28.03.2010 10:26:54

Iced
Administrator
Зарегистрирован: 22.02.2010
Сообщений: 1 890
IP-адрес

Об актуальности языков и технологий программирования

Hvzh, а поподробнее? Чем хорошо, когда что-то отсутствует? Указатели даже в паскале есть. %( А как без них обходиться-то?... :o :O

#10 28.03.2010 19:43:10

Hvzh
Administrator
Зарегистрирован: 01.01.1970
Сообщений: 5 730
IP-адрес

Об актуальности языков и технологий программирования

Flaming,
Поподробнее вечером, сейчас я занят

Flaming,
Пока ты тут, отвечаю на предыдущий вопрос. Поскольку самому выдумывать лениво, то просто процитирую:

По поводу указателей и сборки мусора:

Все объекты в языке java располадаюься в динамической памяти. Если объект содержит другую объектную переменную, она представляет собой всего лишь указатель на другой объект, расположенный в области памяти под названием "куча".

В языке С++ указатели доставляют много хлопот, так как из-за них часто возникают ошибки. Очень легко создать неверный указатель или потерять управление памятью. В языке java таких проблем просто не существует. Если вы используете неинициализированный указатель, то система поддержки выполнения программ обязательно сообщит об ошибке и не продолжит выполнение некорректной программы, выдавая случайные результаты, как это подчас бывает с подобными ошибками в С++. Ппрограммист может не заботиться об управлении памятью, поскольку механизм "сборки мусора" делает это за него автоматически.

По поводу множественного наследования:

В языке С++ есть множественное наследование. Это вызывает много сложностей, связанных с виртуальными базовыми классами, правилами доминирования и приведением типов указателей. Вместо этого в java используется базовый класс и наборы интерфейсов.

#11 30.03.2010 09:50:01

mogul82
Administrator
Зарегистрирован: 09.03.2010
Сообщений: 1 987
IP-адрес

Об актуальности языков и технологий программирования

Я присматриваюсь сейчас к Erlan - функциональный. Изначально был для телекоммуникационного оборудования. На нем сервер yaws - при испытаниях выдержал 80 000 запросов, когда как apache сломался при 4 000 запросов. Спрос на него только в Москве.
Начинаю изучать Си шарп - ну спрос на него везде есть.
PHP - ваще везде нужен. Но зарплаты меньше чем у Си Шарп прогеров.
Знакомый на Python не мог найти работу в Ниж. обл. в соседней тоже.
Остается Java и Си линейка - но там надо выжиматься по полной, что бы на работу найти.
Есче востребован Висуал Бейсик, среди фрилансеров тоже - насчет зарплат не знаю.

А ведь сисадмином можно работать! Щас и магазине и в научных центрах нужны они, так, что хороший сисадмин не пропадет.

#12 30.03.2010 09:52:21

Hvzh
Administrator
Зарегистрирован: 01.01.1970
Сообщений: 5 730
IP-адрес

Об актуальности языков и технологий программирования

mogul82,
Зачем? Если Вы хотите много денюжег заработать, то лучше изучайте С/C++ или Java. Лучше - полследнее

#13 30.03.2010 10:35:32

Iced
Administrator
Зарегистрирован: 22.02.2010
Сообщений: 1 890
IP-адрес

Об актуальности языков и технологий программирования

Hvzh, вот, о чём и был вопрос.

Вообще, есть ли возможность зарабатывать на том, что нравится? smile Или кушать хочется => придётся делать, что скажут, чтобы платили при этом?

Видимо, второе. =(

А ведь сисадмином можно работать! Щас и магазине и в научных центрах нужны они, так, что хороший сисадмин не пропадет.

А кому больше платят? Хорошим сисадминам, или хорошим прогерам на жабе?

#14 30.03.2010 11:00:23

Hvzh
Administrator
Зарегистрирован: 01.01.1970
Сообщений: 5 730
IP-адрес

Об актуальности языков и технологий программирования

Flaming,
Ты (извини, тыкаю, поскольку тут мне на это указали, но думаю, что ты на это не обратишь внимание) хочешь именно программить или админить? Это большие две разницы. Я тут мониторил hh.ru, программерам предлагают несколько больше

#15 30.03.2010 11:11:31

Iced
Administrator
Зарегистрирован: 22.02.2010
Сообщений: 1 890
IP-адрес

Об актуальности языков и технологий программирования

Hvzh, я хочу, чтобы у меня всё было, и чтобы мне ничего за это не было. ;)

#16 30.03.2010 11:14:13

Hvzh
Administrator
Зарегистрирован: 01.01.1970
Сообщений: 5 730
IP-адрес

Об актуальности языков и технологий программирования

Flaming,
Дык это понятно, целиком согласен, но, все-таки, что Вы хотите программить и для чего? Есть же какая-то идея? Или просто студент пытается понять то, куда ему податься?

#17 30.03.2010 11:32:36

enRai
Administrator
Зарегистрирован: 28.03.2010
Сообщений: 33
IP-адрес

Об актуальности языков и технологий программирования

Пардон, что встреваю в беседу, но сейчас и со своей идеей и со знаниями трудновато... Во-первых идею трудно сформировать, так как идейные ниши уже массово заняты... А если и возникнет что-то креативно-индивидуальное, то эту идею с радостью перехватят люди, с которыми будет не по силам бороться. Вывод - одними знаниями программирования не обойтись.. Нужна либо команда, в которой каждый будет занят своей частью проблемы развития идеи (которые, кстати, наверняка будут расти как снежный ком), либо нужно быть гением-трудоголиком с невероятным фактором удачи. Масла на хлеб просто так никто не подарит, мало того, найдется куча людей, стремящихся слизать у вас последнее масло с бутерброда. Так что пробиться в люди сразу после окончания вуза мягко говоря трудновато.. У Вас еще и взгляды на эту проблему наверняка поменяются и не раз. У самого голова пухнет, пишу диплом вот, а что, куда дальше и понятия не имею :)

#18 30.03.2010 11:36:01

Iced
Administrator
Зарегистрирован: 22.02.2010
Сообщений: 1 890
IP-адрес

Об актуальности языков и технологий программирования

Hvzh, идей нет. Не потому что я такой олух, и не знаю, чего хочу... Просто интересно ВСЁ, вообще ВСЁ. А на всё нет времени. Приходится что-то выбирать... Что - непонятно.

enRai, разделяю...

#19 30.03.2010 12:47:08

Cruiser78
Administrator
Зарегистрирован: 22.02.2010
Сообщений: 2 391
IP-адрес

Об актуальности языков и технологий программирования

Flaming,
Ты (извини, тыкаю, поскольку тут мне на это указали, но думаю, что ты на это не обратишь внимание) хочешь именно программить или админить? Это большие две разницы. Я тут мониторил hh.ru, программерам предлагают несколько больше


Мое мнение такое. Плох тот системный администратор, что не был программером. Но, ни системный админ, ни программер сами, как правило, ничего не сделают, если нет с рядом с ними специалиста по постановке задач. Так что программер - это в иерархии ценностей не более чем нижний чин. Со временем, с возрастом эта работа надоедает до смерти. А опыт приобретается изрядный. Значит надо подниматься на ступень выше. На уровень системного администрирования. Но и там через несколько лет станет скучно. Значит еще выше - в постановщики.

Flaming,
Ты (извини, тыкаю, поскольку тут мне на это указали, но думаю, что ты на это не обратишь внимание) хочешь именно программить или админить? Это большие две разницы. Я тут мониторил hh.ru, программерам предлагают несколько больше


Мое пнение такое. Плох тот системный администратор, что не был программером. Но, ни системный админ, ни программер сами, как правило, ничего не сделают, если нет с рядом с ними специалиста по постановке задач. Так что программер - это в иерархии ценностей не более чем нижний чин. Со временем, с возрастом эта работа надоедает до смерти. А опыт приобретается изрядный. Значит надо подниматься на ступень выше. На уровень системного администрирования. Но и там через несколько лет станет скучно. Значит еще выше - в постановщики.

#20 30.03.2010 12:50:21

Hvzh
Administrator
Зарегистрирован: 01.01.1970
Сообщений: 5 730
IP-адрес

Об актуальности языков и технологий программирования

Cruiser78,
Программер - не более, чем нижний чин? Скажите это руководителям, например, Wincor Nixdorf

#21 31.03.2010 16:36:42

Iskan Der
Administrator
Зарегистрирован: 23.02.2010
Сообщений: 650
IP-адрес

Об актуальности языков и технологий программирования

По поводу Java и .NET: имхо, одним из главных их преимуществ является возможность очень быстро (по сравнению с С\С++) разрабатывать довольно сложные системы. Простой синтаксис основных языков позволяет быстро их освоить (сравниваем с С++, который до конца не знает, похоже, никто). Благодаря автоматической сборке мусора не нужно так муторно возиться с памятью. Доступ к подробной RTTI для любого класса позволяет делать удобные фреймворки. И так далее.
В сумме все это дает возможность существенно удешевить разработку сложных приложений; более высокие потребности в аппаратных ресурсах (не такие уж и высокие, к слову) оказываются вполне умеренной платой за достигаемые преимущества.

#22 31.03.2010 16:48:50

Iced
Administrator
Зарегистрирован: 22.02.2010
Сообщений: 1 890
IP-адрес

Об актуальности языков и технологий программирования

(сравниваем с С++, который до конца не знает, похоже, никто)

Уж прямо таки вы до конца знаете C#/Java?

#23 31.03.2010 16:49:37

FIL
Administrator
Зарегистрирован: 07.03.2010
Сообщений: 81
IP-адрес

Об актуальности языков и технологий программирования

Интересный линк.
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Так что хотя бы с си не так всё плохо.
Меня привлекает системное ПО и си.

придётся делать, что скажут, чтобы платили при этом
Welcome to the Earth smile
Ествественно так было всегда и не в одном программировании.

#24 31.03.2010 16:52:34

Hvzh
Administrator
Зарегистрирован: 01.01.1970
Сообщений: 5 730
IP-адрес

Об актуальности языков и технологий программирования

(сравниваем с С++, который до конца не знает, похоже, никто)

Уж прямо таки вы до конца знаете C#/Java?

Iskan Der прав. С++ до конца действительно никто не знает smile

#25 31.03.2010 16:59:10

elve
Administrator
Зарегистрирован: 24.02.2010
Сообщений: 1 971
IP-адрес

Об актуальности языков и технологий программирования

более высокие потребности в аппаратных ресурсах (не такие уж и высокие, к слову) оказываются вполне умеренной платой за достигаемые преимущества.


Не соглашусь с вами =). Более высокие потребности в ресурсах - это действительно более высокие потребности ;). Не всегда такое пренебрежение оправдано. Особенно в странах СНГ =).

Быстрота разработки это здорово! Но есть же для С и С++ огромное количество библиотек. Хоть образрабатывайся ;). А в .Net ( на java не кодил ) уж слишком много разных сущностей наплодили. Прямо абстракция на абстракции... ИМХО это перегиб в сторону ООП и до добра не доведет =)

З.Ы. На Java кроссплатформенный софт пишут и это может оправдать более высокие требования к железу. У .Net кроссплатформенность только в пределах ОС Windows, т.е. никакой. Не так все гладко с mono так что в нее тыкать не нужно ;).

#26 31.03.2010 17:07:18

Hvzh
Administrator
Зарегистрирован: 01.01.1970
Сообщений: 5 730
IP-адрес

Об актуальности языков и технологий программирования

З.Ы. На Java кроссплатформенный софт пишут

В последнее время и не пишут уже :) Уклон в сторону J2EE. Иногда он получается кроссплатформенным сам по себе :D

#27 31.03.2010 19:09:26

Iskan Der
Administrator
Зарегистрирован: 23.02.2010
Сообщений: 650
IP-адрес

Об актуальности языков и технологий программирования

Более высокие потребности в ресурсах - это действительно более высокие потребности ;). Не всегда такое пренебрежение оправдано.

Не всегда, но часто. Разработчики (хорошие) - довольно недешевый ресурс, куда более дорогой, чем несколько дополнительных планок памяти на сервер :)
Опять же, приложение, написанное на С\С++ не обязательно будет менее ресурсоемким, чем аналог Java или .NET. Одна маленькая утечка памяти, и все сишные преимущества на смарку :) Да и вообще, в больших приложениях ресурсоемкость в большей степени зависит от разработчика: насколько грамотно он использует ресурсы, насколько удачно подобрал алгоритмы обработки данных и т.д.

Быстрота разработки это здорово! Но есть же для С и С++ огромное количество библиотек

Дело не только в количестве, но и в качестве. Скажем, на Java (точнее - Java EE) можно относительно быстро соорудить довольно мощное серверное приложение, в котором будет и пулинг различных ресурсов, и транзакции, и ORM-доступ к данным и т.п. На С\С++ подобное решение придется делать на чем-то типа CORBA, что займет на порядок больше времени и, соответственно, денег.

А в .Net ( на java не кодил ) уж слишком много разных сущностей наплодили. Прямо абстракция на абстракции...

В С++ их, помнится, еще больше :) C#, во всяк, мне куда более простым и понятным, чем С++, показался.

На Java кроссплатформенный софт пишут и это может оправдать более высокие требования к железу. У .Net кроссплатформенность только в пределах ОС Windows, т.е. никакой

У .Net и к железу требования скромнее, чем у Java, если уж на то пошло.

#28 31.03.2010 20:26:30

Iced
Administrator
Зарегистрирован: 22.02.2010
Сообщений: 1 890
IP-адрес

Об актуальности языков и технологий программирования

У .Net и к железу требования скромнее, чем у Java, если уж на то пошло.

У .net зато требования к платформе =) к операционке, если точнее.
Для корпорация в финансовом плане даже это мелочь, Windows стоит недоорого - это мелочь.

#29 31.03.2010 21:12:12

UTe11ok
Administrator
Зарегистрирован: 21.03.2010
Сообщений: 1 407
IP-адрес

Об актуальности языков и технологий программирования

Так вот, задумался об актуальности различных языков программирования. Сейчас, куда не плюнь, практически везде сильнее всего востребованы Java и .Net.

Ruby & Rails сейчас востребован.

тормоз ещё тот, и прожорливый. Кстати, .net, по-моему, тоже тормоз. %(

верно, поэтому мало кто его использует.


В чём прикол - до конца непонятно. Да, хорошо, конечно, когда "написал один раз - запустил везде" для java. Может, в каких-то случаях актуально. Но разве нельзя, использую, к примеру, те же C/C++ добиться той же самой кроссплатформенности?

Посмотрите на KDE, который работет и на GNU/Linux, и на *BSD, и на Window$ и даже на MacOS X ;)

Вообще, есть ли возможность зарабатывать на том, что нравится? :)

От фирмы зависит

Или кушать хочется => придётся делать, что скажут, чтобы платили при этом?

ну да, такое тоже есть %)

#30 31.03.2010 21:14:38

Hvzh
Administrator
Зарегистрирован: 01.01.1970
Сообщений: 5 730
IP-адрес

Об актуальности языков и технологий программирования

Посмотрите на KDE, который работет и на GNU/Linux, и на *BSD, и на Window$ и даже на MacOS X

Работает... Без переписывания кода...

  • Linux Forum
  •  » 
  • Работа
  •  » 
  • Об актуальности языков и технологий программирования

Board footer