Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

На каком языке вы программируете?

Автор Devorator linguarum, сентября 30, 2013, 21:11

0 Пользователи и 1 гость просматривают эту тему.

Gyesa

А вообще, надо ocaml штудировать. Штука, как много где вижу и слышу, крайне идёт в гору. Очень качественный функциональный язык (с ООП-шными и императивными дополнениями).
Nu vei obține niciodată ceea ce îți dorești dacă nu-l iei.

RawonaM

Цитата: Даниэль от ноября 25, 2013, 14:16
Не согласен с таким подходом. Устаревают галстуки и телевизоры. Хороший язык программирования, как и хорошая математическая теория, не устаревает.
Если для вас языки теория, то не устаревает. Для упражнений ума джава хороша.
А в реальной жизни любые технологии, в том числе и языки программирования, устаревают. Не успевая адаптироваться к новым реалиям, не существовавшим в начале девяностых.

Цитата: Bienna от ноября 25, 2013, 14:24
Цитата: Даниэль от ноября 25, 2013, 14:16среди серьезных приложений - пожалуй, даже первым
Я практически не встречался с крупными системами, написанными на java.
Как раз на джаве больше систем и они крупнее.

Цитата: Bienna от ноября 25, 2013, 14:24
Цитата: Даниэль от ноября 25, 2013, 14:16В "своей" области у Java, по сути, пока всего два серьезных конкурента: C# и C++
Ладно сравнивать java и c#, но java и с++? Крайне странно.
+1. Джава как раз и задумывался уже как улучшенный С++, когда Джава вышла С++ уже широко использовался.

Даниэль

Цитата: Bienna от ноября 25, 2013, 14:24
Языки же для изначально совершенно разных целей. Думаю, не совсем уместно их сравнивать. PHP надо сравнивать с jsp и //asp.net.
Цель общая - веб-серверы.

Цитата: Bienna от ноября 25, 2013, 14:24
Я практически не встречался с крупными системами, написанными на java. Как минимум потому, что java, несмотря на свою супер-пупер-защищённость, всё-таки слишком требовательна к ресурсам. И крайне прожорлива.
Сильно устарело. Это имело значение, когда 20 MB (объем Java-машины) считалось крупной программой. С точки зрения быстродействия показатели сравнимы.

Цитата: Bienna от ноября 25, 2013, 14:24
Ладно сравнивать java и c#, но java и с++? Крайне странно.
Именно. Оба языка реализуют сходный набор возможностей, от низкоуровневого программирования до любых паттернов ООП. Даже набор стандартных библиотек сравним. Но Java делает ставку на пуританскую простоту и надежность, а C++ - на быстродействие и исчерпывающий спектр возможностей и фишек.

Цитата: Bienna от ноября 25, 2013, 14:24
Если и клон, то крайне качественный и, думается мне, видя течение времени, скоро начнущий вытеснять java из отраслей, не относящихся к мобильным устройствам, на коих лидирует java, само собой.
Реальная ценность C# сильно замаскирована влиянием корпорации Microsoft, которая его продвигает. Объективно можно будет судить о нем, когда Microsoft либо разорится, либо перестанет его поддерживать. Java такой кризис пережил.

Программист из Израиля, Кармиэль

Даниэль

Цитата: RawonaM от ноября 25, 2013, 14:43
Цитата: Даниэль от ноября 25, 2013, 14:16
Не согласен с таким подходом. Устаревают галстуки и телевизоры. Хороший язык программирования, как и хорошая математическая теория, не устаревает.
Если для вас языки теория, то не устаревает. Для упражнений ума джава хороша.
А в реальной жизни любые технологии, в том числе и языки программирования, устаревают. Не успевая адаптироваться к новым реалиям, не существовавшим в начале девяностых.
Вероятно, вы недооцениваете дифференциальные уравнения, если полагаете, что они хороши лишь "для упражнений ума" :)
Программист из Израиля, Кармиэль

RawonaM

Цитата: Даниэль от ноября 25, 2013, 14:46
Вероятно, вы недооцениваете дифференциальные уравнения, если полагаете, что они хороши лишь "для упражнений ума" :)
Дифференциальные уравнения это теория, а язык программирования это всего лишь набор правил как что-то записать. Не имеет значения джава или си или новый язык, теория под этим всем останется та же.

Gyesa

Цитата: RawonaM от ноября 25, 2013, 14:43
Как раз на джаве больше систем и они крупнее.
Спорить не буду — смотря, кто в каких реалиях живёт. Я, например, перейдя на новую работу пару месяцев назад, впервые вообще увидел большую систему, написанную на джаве. Точнее, jsp/jsf (ну, джава — в основе логики). До сего — с++, с#, даже delphi.

Цитата: Даниэль от ноября 25, 2013, 14:45
Цель общая - веб-серверы.
Не соглашусь. Perl — как язык удобной обработки информации. Это его первоначальная цель. То, что на нём что-то пишется ещё, — не делает его основным в сей стези. А то сюда сейчас всякие JS ещё начнём вплетать. Не, не надо.

Цитата: Даниэль от ноября 25, 2013, 14:45
Оба языка реализуют сходный набор возможностей, от низкоуровневого программирования до любых паттернов ООП.
Пардон, джава — и низкоуровневое что-то? Увольте, не встречал. И как минимум потому, что в джаве категорически нет указателей. Одно из основных условий достижения кросс-платформенности и защищённости. А паттерны ООП — у джавы с шарпом сходств гораздо больше. C++, всё-таки, считаю, стоит особняком. Он породил новые направления, дал идеи, но технологии крайне разные.

Цитата: Даниэль от ноября 25, 2013, 14:45
замаскирована влиянием корпорации Microsoft, которая его продвигает
Ну и молодец, что продвигает качественную и многофункциональную технологию. Солидарен с ней.

Цитата: Даниэль от ноября 25, 2013, 14:45
когда Microsoft либо разорится, либо перестанет его поддерживать
Только, разве что, в ваших мечтах :) Ещё несколько лет назад шарп был менее востребован, сейчас же — он повсюду. Точнее даже, не сам он, а в принципе дотнэтовская платформа.
Nu vei obține niciodată ceea ce îți dorești dacă nu-l iei.

RawonaM

Цитата: Bienna от ноября 25, 2013, 14:52
Цитата: RawonaM от ноября 25, 2013, 14:43Как раз на джаве больше систем и они крупнее.
Спорить не буду — смотря, кто в каких реалиях живёт
А что, есть другие планеты? :)
(wiki/en) File:Tiobe_index.png

На джаве работают серьезные крупные системы, а си-шарп это для виндоуз-приложений и т.п.

Gyesa

Цитата: RawonaM от ноября 25, 2013, 14:57
(wiki/en) File:Tiobe_index.png
Ну так это в целом — сообщество. А мы говорим про крупные enterprise-приложения.

Цитата: RawonaM от ноября 25, 2013, 14:57
си-шарп это для виндоуз-приложений
По-вашему, в крупных компаниях стоит (в плане ОС) что-то иное? :)

Цитата: RawonaM от ноября 25, 2013, 14:57
На джаве работают серьезные крупные системы
Хорошо, тогда, если вы не против, интересуют меня, какие, к примеру, именно. Без троллинга. Действительно интересует.
Nu vei obține niciodată ceea ce îți dorești dacă nu-l iei.

Даниэль

Цитата: Bienna от ноября 25, 2013, 14:52
Цитата: Даниэль от ноября 25, 2013, 14:45
Цель общая - веб-серверы.
Не соглашусь. Perl — как язык удобной обработки информации. Это его первоначальная цель. То, что на нём что-то пишется ещё, — не делает его основным в сей стези. А то сюда сейчас всякие JS ещё начнём вплетать. Не, не надо.
Так и PHP совершенно универсальный язык. Его возможность "встраиваться" в HTML-код - чисто рекламный трюк, который противоречит действительно серьезному программированию на этом языке. В принципе, подходы PHP и Perl сравнимы.

Цитата: Bienna от ноября 25, 2013, 14:52
Пардон, джава — и низкоуровневое что-то? Увольте, не встречал. И как минимум потому, что в джаве категорически нет указателей. Одно из основных условий достижения кросс-платформенности и защищённости. А паттерны ООП — у джавы с шарпом сходств гораздо больше. C++, всё-таки, считаю, стоит особняком. Он породил новые направления, дал идеи, но технологии крайне разные.
Под низкоуровневым я имел в виду не манипуляции портами и регистрами (это понимание 80-х годов), а эффективную работу с байтами, вещественными числами, сокетами, дисковыми подсистемами, разными ядрами, распределенные вычисления и все остальное, что является современным низкоуровневым программированием. Например, совсем недавно разрабатывал модуль для быстрого формирования стогигабайтных массивов графических данных на диске с нетривиальной параллельной обработкой, где стояли требования обеспечить полную скорость RAID-диска и оптимальную загрузку многоядерного процессора. Java для таких задач прекрасно годится и во многом удобнее того же C++.

Цитата: Bienna от ноября 25, 2013, 14:52
Только, разве что, в ваших мечтах :) Ещё несколько лет назад шарп был менее востребован, сейчас же — он повсюду. Точнее даже, не сам он, а в принципе дотнэтовская платформа.
Я ничего не имею против Microsoft, просто указываю, что в существующей ситуации оценка языка необъективна. C# популярен именно как часть дотнетовской платформы. А платформа эта без Microsoft и Windows вряд ли была бы столь успешна. Проекты, которые популярны только за счет внешней поддержки, рано или поздно сходят на нет. Так, алгол очень активно продвигался САСМ-ом - а кто теперь помнит его? MSIE усилиями Microsoft стал самым популярным броузером, а теперь он где?
Программист из Израиля, Кармиэль

Gyesa

Цитата: Даниэль от ноября 25, 2013, 15:03
Так и PHP совершенно универсальный язык.
И опять же, изначально — это как именно обработчик html. Perl умеет обрабатывать информацию, но разную, а тут требовалась цель — html-разметка. Perl для этого, в отличие от php, — слишком универсальный, что явно сказывается на его общей скорости.

Цитата: Даниэль от ноября 25, 2013, 15:03
модуль для быстрого формирования стогигабайтных массивов графических данных на диске с нетривиальной параллельной обработкой, где стояли требования обеспечить полную скорость RAID-диска и оптимальную загрузку многоядерного процессора. Java для таких задач прекрасно годится и во многом удобнее того же C++
Уау. Никогда бы не подумал. Подобные вещи я привык видеть на c++ или даже c.

Цитата: Даниэль от ноября 25, 2013, 15:03
Так, алгол очень активно продвигался САСМ-ом - а кто теперь помнит его? MSIE усилиями Microsoft стал самым популярным броузером, а теперь он где?
И всё-таки, не совсем сравнимые вещи.

Пойдём от обратного. Скажем так, джаву от шарпа отделяют всего лишь некоторые особенности, да и в целом принцип функционирования одинаков. Так чем шарп хуже джавы? Только тем, что его продвигают Microsoft? Или что? Если не просто вникнуть в детали — ну, например, вот неплохая статья, описывающая различия этих языков: http://www.jot.fm/issues/issue_2002_11/article4/, — а писать на этом языке, можно без проблем увидеть его отличную гибкость. Более того, всегда радует возможность нахождения нескольких языков на единой платформе. Так, код на том же шарпе может быть "переделан" автоматически на с++ и т.д. Точнее, реализованный на разных языках функционал может быть слит воедино благодаря единой платформе, что очень, очень неплохо.

Offtop
А джава? Ну а что джава. Даже у нас в компании слышу: "если бы на то время, когда создавалась компания, было что-то, кроме джавы, мы бы выбрали это; жаль, что спустя пару лет, после начала крупной разработки, появился отличный конкурент джавы, более подходящий под наши задачи". Здесь, правда, веб-приложение крупное, но таки языки эти. И что? Всё развёртывается на винде — как на единственной enterprise системе. При этом приходится ставить tomcat, что уже не самое нативное и приятное. И получается... ну, хорошо получается, однозначно, но могло же быть ещё лучше? :)
Nu vei obține niciodată ceea ce îți dorești dacă nu-l iei.

Gyesa

Цитата: Bienna от ноября 25, 2013, 15:26
Цитата: Даниэль от ноября 25, 2013, 15:03модуль для быстрого формирования стогигабайтных массивов графических данных на диске с нетривиальной параллельной обработкой, где стояли требования обеспечить полную скорость RAID-диска и оптимальную загрузку многоядерного процессора. Java для таких задач прекрасно годится и во многом удобнее того же C++
Уау. Никогда бы не подумал. Подобные вещи я привык видеть на c++ или даже c.
Заинтересовало, чем конкретно удобнее? Какие-то уже реализованные библиотеки есть? Или по скорости что-то выигрывает? Или по кол-ву кода? Или что конкретно?
Nu vei obține niciodată ceea ce îți dorești dacă nu-l iei.

RawonaM

Цитата: Bienna от ноября 25, 2013, 15:26
Так чем шарп хуже джавы?
Шарп лучше джавы. Появившись как ее клон и потенциальный наследник, он является некоторой улучшенной версией джавы, содержа в себе кучу полезных фич, которых так не хватает в джаве.

francisrossi

Я думаю, языковые холивары можно подытожить единственным способом - дело зачастую не столько в языке, сколько в том, есть ли достаточное количество библиотек, какова специфика задачи и традиция написания софта, ну и субъективные личные предпочтения. Хотя к РНР у многих вполне обоснованные претензии в отношении именно того, как язык спроектирован. Но и на нём можно писать вполне годный софт.

Gyesa

Цитата: francisrossi от ноября 25, 2013, 15:36
есть ли достаточное количество библиотек, какова специфика задачи и традиция написания софта
:+1:

Цитата: francisrossi от ноября 25, 2013, 15:36
Но и на нём можно писать вполне годный софт.
Не нужен он в софтопроизводстве :) Пусть живёт и царствует там, для чего он был создан :)
Nu vei obține niciodată ceea ce îți dorești dacă nu-l iei.

Triton

Цитата: RawonaM от ноября 25, 2013, 13:37
Все императивные языки по сути одно и то же, различаются незначительными деталями. Чтобы понять, что бывают абсолютно другие языки, нужно поучить хоть один другой язык, например функциональный. Скалу хотя бы. Скала правда позволяет совмещать императивное программирование с функциональным, поэтому получается, что те кто не понимают, что такое фукнциональное программирование, могут использовать скалу чисто в императивном виде всего лишь как улучшенную джаву. Поэтому лучше поучить что-то чисто функциональное.
Хаскель няшен. Здорово прочищает мозги. Но в практической деятельности бесполезен, увы.

А с кложурой вам не доводилось сталкиваться?
Молиться, поститься и слушать радио Ватника

Ильич

Цитата: Devorator linguarum от сентября 30, 2013, 21:11каким языком программирования вы ныне пользуетесь?
Сразу видно - наш человек. Такой же мамонт, как и я. В смысле древний. Потому что, как мне кажется, сейчас языков программирования уже нет, а есть средства разработки.

А пользуются люди всем в зависимости от задачи, вкусов и прочих обстоятельств. Вот мой хороший знакомый, который живет в Торонто писал пару лет назад, что ему приходится на Paradox 4.5 for DOS писать. Обстоятельства такие.

А сам я теперь для себя почти только VBA пользуюсь. И в Excel - домашняя бухгалтерия и куча по мелочи, и в Word - кое-какие макросы для собственного удобства, и в Corel Draw - проектировал лестницу в доме, сарай во дворе.

А вот захотел показать ребёнку, что Луна вокруг земли не вращается, написал на Delphi картинку . Особо не выбирал, что подвернулось, то и использовал. Делал свой сайт, в ход пошли и java script и PHP.
В общем, всё по задаче и с минимальными затратами на приобретение этих средств разработки. Если бы это был мой хлеб, то тогда, наверное выбирал бы самое удобное.

Хотя на VBA я ещё лет 10 назад писал и на продажу. Знакомые IT-специалисты посмеивались над этим, но у меня был весомый аргумент: вы свои программули на C++ для собственного спорта пишете, а за мои VBA мне деньги платят и они работают. А данные, которые я обрабатывал и в 1С лежали, и на SQL-серверах. Брать их можно откуда хочешь, а всякие результирующие таблицы и графики в Excel выдаешь. Там уже с результатами удобно повозиться, выбрать то, что нужно сию минуту, а через час какую-то другую обработку результатов делаешь.

Ильич


Ömer

На работе пишу на C#.

Возглагал надежды на Powershell как на язык на котором можно быстро решить какую-то нетривиальую системную задачу (раскидать файлы по папкам в зависимости от названия  и т.п.), но разочаровался: язык сложно запоминается, неинтуитивный (со своими -eq, -le и другими операторами), и выглядит некрасиво.

Люблю функциональные языки. В реальной работе использовал Mathematica, когда работал в университетской лаборатории.
ya herro, ya merro

Ömer

Оказывается, несколько месяцев назад объявили, что этот язык называется Wolfram :)
(wiki/en) Wolfram_(programming_language)

ya herro, ya merro

Python

По сабжу (начиная от наиболее используемых в последнее время).
1) Clojure — типа лисп под JVM. В принципе, та же Java, только с другим синтаксисом и некоторыми наворотами. Часто текст программы получается более компактным, хотя некоторые вещи все же удобнее делать на настоящей Джаве (напр., форму с кучей анонимных классов-обработчиков, или чисто процедурный код, где functionality и immutability только мешает). Бесят скобки, которые затрудняют красивое оформление кода.
2) Java. Тут все понятно. Программирую чисто для себя, поэтому острой необходимости использовать именно этот язык нет.
3) (То, на чем пишутся батники — как этот язык правильно называется?) + портированные юниксовые утилиты (в первую очередь, sed). Windows-аналог bash-скриптов.
4) Pascal (когда-то — TP и Delphi, позже — FPC). Сейчас практически не использую, хотя был период, когда все делал на паскале. Насчет «второго дыхания», честно говоря, сомневаюсь: FPC/Lazarus — то же Делфи, только опенсорс и с ориентацией на линукс. Практически ничего принципиально нового не добавилось. Стандартный API хаотичен, минималистичен и с кучей дубликатов, нет «цивилизованного» способа взаимодействия с third-party libraries — JVM в этом отношении намного лучше. Хотя по производительности — тот же C/C++.
5) PHP. Динамические веб-странички для своего сервера. Несложный си-подобный язык для конкретной задачи.
6) BASIC. Всерьез что-то делал на QB еще в школьные годы. Сейчас иногда играюсь (предпочитаю классические бейсики. VBA и другие попытки сделать из бейсика небейсик кажутся концептуально неинтересными).
7) С#. Изучаю. В принципе, та же Java, только с другими именами классов и кучей языковых фич, хотя некоторые платформоспецифические вещи лучше делать на C#.
8) C. Мое знакомство с программированием (еще до бейсика в старших классах) начиналось с книги по C. Однако, периодов, когда этот язык был для меня основным инструментом, практически не было. Знаю, но не использую. Привыкнув к удобствам современных языков, трудно возвращаться во времена ручного распределения памяти. Хотя язык концептуально интересен своей минималистичностью.
9) C++. Иногда читаю толстую книжку Страуструпа, чтобы прийти в ужас.
10) Scheme. Какое-то время программировал, пока не открыл для себя Clojure. Воспринимаю как «паскаль для лисперов» — концептуально-пуристичный язык, удобный скорее для обучения, чем для практического использования.
11) Assembler. Полезен для понимания «как все работает», хотя как практический инструмент в большинстве случаев неудобен.
12) FORTRAN. Поигрался. Да, прикольно, жаль, что уже неактуально.
13) Python (язык, нагло укравший мое имя). Смесь всего со всем. После Сlojure кажется очень понятным. Код читается легко, но всерьез что-то написать пока не пытался. Не думаю, что это сложно. Некоторые моменты, впрочем, порадовали — интересный подход к ООП, генераторы коллекций и т.п. Нехватает goto и макросов.
14) JavaScript. Язык концептуально весьма интересный, но его практическое использование тормозится непреодолимым отвращением к страничкам, напичканным джаваскриптом, а как самостоятельный язык его практически нигде не используют.
15) perl. Интересный язык. Возможно, есть смысл использовать его вместо .bat+sed.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Hellerick

Цитата: Python от ноября 25, 2013, 16:29
в первую очередь, sed

Вы умеете в нем чем-то кроме команды «s///» пользоваться? Недавно столкнулся с тем, что мне при замене надо было нумеровать результаты — и не нашел для этого красивого решения. Пришлось для обработки одного файла три разных скрипта делать (до нумерации, для нумерации, после нумерации). Все эти команды типа G и H для меня непостижимая магия.

Triton

Цитата: Hellerick от ноября 25, 2013, 16:59
Цитата: Python от ноября 25, 2013, 16:29
в первую очередь, sed

Вы умеете в нем чем-то кроме команды «s///» пользоваться? Недавно столкнулся с тем, что мне при замене надо было нумеровать результаты — и не нашел для этого красивого решения. Пришлось для обработки одного файла три разных скрипта делать (до нумерации, для нумерации, после нумерации). Все эти команды типа G и H для меня непостижимая магия.
К черту sed, когда есть ruby.  :)
Молиться, поститься и слушать радио Ватника

amdf

Си не для слабаков.
Ведовьство, потвори, чяродеание, волхъвование, зеленничьство, церковнаа татба, мертвеци сволочать, крест посекут, или на стенах трескы емлють из креста.

Bhudh

Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

francisrossi

Sed не исчерпывается s//, некто написал на этом языке целую шахматную программу: https://github.com/bolknote/SedChess

Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр