beldmit: (Default)
[personal profile] beldmit
Собственно, возвращаясь к посту про настоящего программиста. Там в комментах [livejournal.com profile] cmike высказал мнение, что Java - это такой нишевый язык.

Я задумался, и понял, что ниши для Java я не представляю. Возможно, сейчас не представляю - потому что уже есть C#.

Посему вопрос: какие задачи могут быть удачнее, чем на каком-либо другом языке, решены на чем-нибудь из списка: Java, Smalltalk, Haskell, Erlang? Меня устроит, если будет какой-то другой язык близкого класса, который это позволит сделать (кроме Java - там я хотел бы видеть четкие преимущества).

Желательно - чтобы с этими задачами было реально столкнуться на не сильно извилистом пути программиста (то есть если, чтобы к такой задаче подступиться, надо 15 лет учиться на микроэлектроника, то пример не канает).

Date: 2008-11-24 07:29 pm (UTC)
From: [identity profile] alexott.livejournal.com
Java - это сейчас такой нишевой язык для писания всяких веб-сервисов и порталов и т.п.
Ну SmallTalk - это совсем редкость, а вот Erlang & Haskell сейчас потянулись в гору. Первый в основном из-за своего масштабирования и ориентированности на сети

Date: 2008-11-24 07:47 pm (UTC)
vitus_wagner: My photo 2005 (Default)
From: [personal profile] vitus_wagner
Ниша для Java - это тупые мобильные телефоны. Вот на J2ME действительно получается неплохие вещи писать. Почему-то на них Java не жрет гигабайты и гигагерцы как свинья. Ниша для Erlang - коммутаторы для этих самых телефонов. Не исключено что jabber и другие IM-протоколы, где текста мало, а коммутации - много, тоже хорошо делаются на Erlang. Недаром ejabberd так популярен.

Нaskell - это для задач, требующих определённым образом заточенных мозгов.

SmallTalk вообще-то хорош для GUI. Но поскольку GUI обычно должны интегрироваться в окружающий десктоп, а окружающие десктопы написаны не на SmallTalk, популярен он мало.

Date: 2008-11-24 07:51 pm (UTC)
arilou: (Default)
From: [personal profile] arilou
А C# уже мультиплатформенный? Или по принципу "а у кого немикрософт - тот сам виноват"?

Date: 2008-11-24 08:02 pm (UTC)
From: [identity profile] dimas.livejournal.com
Ну, до многоплатформенности (не только под "большой" лялих и чего там еще есть Моно?) явы си шарпу еще ползти и ползти ...

В том числе гуёвых приложений ...

Только вот боюсь куча имеющихся сложных проблем от того, что "сделайте программу, которой сможет пользоваться полный Х, и только он будет её пользоваться", ну и от стандартного заблуждения, что "пользовательский интерфейс - это просто, любой джуниор справится" ...

Date: 2008-11-24 08:21 pm (UTC)
From: [identity profile] yakov-sirotkin.livejournal.com
Ниша Java - это бизнес-приложения: банки, торговля, логистика, бухгалтерия и всё такое. Конечно, C# конкурирует с Java в лоб, но программировать на C# и не дружить с Майкрософт - это большое извращение, а дружить с Майкрософт - не все хотят.

Date: 2008-11-24 08:32 pm (UTC)
From: [identity profile] dph.livejournal.com
Основной плюс Java - это простой язык. Т.е. код, написанный даже каким-нибудь "индусом" (или вчерашним перлистом) можно таки разобрать и отрефакторить за разумное время. Более того, его можно поддерживать даже без рефакторинга (по крайней мере у Яши получается).
Собственно, из этого и вылезает ниша - все приложения, для которых стоимость поддержки существенна. Т.е. весть корпоративный сектор, веб-сервисы и все, что живет долго и меняется часто-часто.

Как ни странно, Eclipse RCP сейчас - один из лучших способов делать GUI, причем даже под Win результат выглядит вполне нативным и быстрым. С# пока еще нормального RCP не получил, насколько я знаю.

Date: 2008-11-24 08:34 pm (UTC)
From: [identity profile] dph.livejournal.com
Ну и сейчас Java - самый быстрый из медленных языков ;) Т.е. если задача не требует совсем уж жесткой оптимизации под Fortran или C, но производительность имеет значение - лучше брать Java.
Кстати, по слухам, Fortran уже потихоньку вытесняется Java в научных исследованиях.

Date: 2008-11-24 08:53 pm (UTC)
From: [identity profile] city-rat.livejournal.com
Я вот завтра понесу показывать заказчику портал. Инета унутре конторы у заказчика нету - он режимный, так что тащить для показа надо всю систему, а не клиента. Корневой портал будет работать на машине под aix, сиблинги - хрен знает на чем, в основном - линукс. Винды там не будет на серверах НИКОГДА, потому что заказчик - ослеп, а не е.. режимный.

А я вот покажусь завтра на ноуте под виндовс.

C#, говорите?

Ах да, это потом еще и суппортить надо, развивать. Кроме того, мы это ядро портальное уже три года довольно успешно запихиваем во все проекты. Perl, говорите?

Date: 2008-11-24 10:54 pm (UTC)
From: [identity profile] dimrub.livejournal.com
Не понимаю, а в чем принципиальная разница между Java и C#?

Посему вопрос: какие задачи могут быть удачнее, чем на каком-либо другом языке, решены на чем-нибудь из списка: Java, Smalltalk, Haskell, Erlang?

Говорят, на хаскелле очень удобно писать парсеры, а на эрланге - сильно распаралелленные вычисления (в том числе, тестовые клиенты для сетевых протоколов). Но видеть в одном списке Хаскель и Яву мне несколько странно.

Date: 2008-11-24 10:56 pm (UTC)
From: [identity profile] gornal.livejournal.com
Java - переносимые GUI приложения.

Date: 2008-11-25 12:29 am (UTC)
From: [identity profile] dmih.livejournal.com
Паскаль - нишевый язык для преподавания на бумаге в школах в глубинке.

Date: 2008-11-25 11:46 am (UTC)
From: (Anonymous)
Дима - когда ты пишешь для бд у тебя нет выбора...
+ когда ты пишешь всякий системно-смешной софт - у тебя нет выбора...
+ когда ты пишешь бизнес-ориентированный софт - у тебя есть выбор между очень странными языками и java... и у тебя нет выбора...

а c# - ну и где он нужен? ну и где он живьем используется? даже в виндовых игрушках - и то, java...

Gor
P.S. ты не мог бы зарегистрировать меня на
http://rblaze.livejournal.com/628095.html
?

Date: 2008-11-27 03:56 pm (UTC)
From: [identity profile] mcfirst.livejournal.com
Как недавно попавший в пространство ГИСов, могу добавить - практически все опен-сорсовое, что сейчас есть, сделано либо на unmanaged языках, либо на Java. Причем на Java существуют уникальные проекты, которые спортированы в native.

P.S. Ну, не считая НАСАвского WorldWind'а. И то они его на Java портируют.

Date: 2008-12-15 12:41 pm (UTC)
From: [identity profile] behrk.livejournal.com
Отвечу за Smalltalk.

Для меня Smalltalk -- это прежде всего язык экспериментальной разработки, exploratory programming. Т.е. я люблю решать на нём задачи вида "сделай то, не знаю, что".

Пример: вот хочу сделать необычную визуализацию для данных, лежащих в файле не вполне известного мне формата. Допустим, я знаю структуры, в которых лежат данные в файле, но не вполне понимаю семантику полей этих структур в пограничных случаях. И вот, я описываю эти структуры и пишу однострочник, который считывает содержимое файла. Дальше некоторое время лазаю по нему инспектором, иногда делая выборки, свертки и проч.

Потом я пишу опять-таки однострочник, который прямо на графическом контексте текущего окна рисует какие-то графики. Экспериментирую, подбираю, развлекаюсь. И когда, наконец, результат начинает меня удовлетворять, завожу класс и сваливаю мои однострочники в его методы.

Другой пример -- создать COM-объект и начать дергать его за разные методы, чтобы понять, как он себя ведет. Естественно, в процессе всё часто рушится или приходит в неправильное состояние, но при соблюдении минимальной аккуратности у меня всегда имеется на руках код, выполнив который после перезапуска я воспроизведу то состояние, с которым работаю.

Profile

beldmit: (Default)
Dmitry Belyavskiy

December 2025

S M T W T F S
 123456
78910111213
14151617181920
2122 2324252627
28 29 3031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 10th, 2026 09:13 am
Powered by Dreamwidth Studios