LINUX.ORG.RU

Дилемма

 ,


0

4

Что лучше учить? Java лучше, потому что работает под линуксом. А dotnet интереснее, и из него можно перескочить на vala или на mono.

Что скажете? Не хочется травмировать свой ​​мозг, но есть возможность сходить на курсы.



Последнее исправление: CYB3R (всего исправлений: 2)
Ответ на: комментарий от vertexua

Лябдонеосиляторы обычно аргуметируют захватом контекста. Мне кажется аргумент надуман

Так инстанцирование безымянного класса, как это делается на джаве в виду отсутствия лямбд, вроде же тоже замыкает контекст. Разве нет? Он не может этот аргумент тут привести :)

MichaelMakarov
()
Ответ на: комментарий от MichaelMakarov

Отстрел ног лямбдой, любой, как минимум никак не связан с тем что это лямбда

vertexua ★★★★★
()
Ответ на: комментарий от vertexua

Я честно говоря разжился книжками по обоим языкам (Clojure/Scala). Теперь смотрю в сторону поддержки IDE. У Clojure я так понял с этим делом намного лучше, чему Scala. Еще немного испугало тот факт, что по интернетам гуляет какое-то неприличное количество статей в духе Why is scala so hard to learn? Why is Scala so complex и т.д.

anonymous
()
Ответ на: комментарий от anonymous

У Clojure я так понял с этим делом намного лучше, чему Scala.

У Clojure есть Emacs. Ничего лучше Emacs'а для лиспов нет.

mv ★★★★★
()
Ответ на: комментарий от anonymous

Все дело в большом недостатке Scala - МОЖНО написать абсолютно нечитаемый код, который неявно отформатирует винт и отправит ракету в космос.

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

vertexua ★★★★★
()
Ответ на: комментарий от anonymous

Плюс на Scala действительно можно написать кучу монад, ядренной функциональщины и горе тому кто увидит ЭТО неподготовленным. Любой аргумент такого рода отметается практикой не писать такой код.

vertexua ★★★★★
()
Ответ на: комментарий от tailgunner

могло быть написано на чем угодно.

Да, но он сделал это быстрее остaльных и оно работало как было задумано и понравилось заказчику. Значит инструмент был выбран правильно.

gensym ★★
()
Ответ на: комментарий от tailgunner

Грэм просто первым сделал средство, востребованное рынком, оно могло быть написано на чем угодно.

Так были же конкуренты, писали на чем угодно, а выиграл всё равно Лисп. Потому что, пока другие пыжились неделями над новыми фичами и выдавали в пресс-релизе за преимущество, Грэм с Моррисом делали такие же с пол пинка за день, а баги правили еще тогда, когда пользователь висел на телефоне.

anonymous
()
Ответ на: комментарий от mv

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

anonymous
()
Ответ на: комментарий от gensym

он сделал это быстрее остaльных

Может, он просто раньше додумался? Не припомню, чтобы он рассказывал о соревновании на скорость программирования.

и оно работало как было задумано и понравилось заказчику. Значит инструмент был выбран правильно.

Да, но это не значит, что выбор был единственно правильным (не говоря о том, что в CL был одним из двух или трех используемых языков).

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous

Впервые слышу хороший аргумент, в котором есть доля правды. Но аргумент просто недостаточно силен. Обычно аргументы «можно сделать то-то плохое» не подходят, так как есть аргумент «не делайте»

vertexua ★★★★★
()
Ответ на: комментарий от vertexua

Интересует такое направление как построение распределенных приложений или как оно еще называется - Distributed computing. Слышал, что есть такой проект как Akka, который показывает очень хорошие результаты. Интересно просто, в каких местах будет выигрыш при написании кода на Java и Scala? Наверное при написании участков когда, которые активно используют многопоточность? В терминах скалы, это вроде реализуется с использованием модели акторов?

anonymous
()
Ответ на: комментарий от anonymous

Модель акторов - просто удобная абстракция для концепции shared nothing architecture.

Akka - это намного больше чем акторы. Это серьезный middleware stack ориентированый на enterprise

vertexua ★★★★★
()
Ответ на: комментарий от anonymous

Есть вполне годный плагин от JetBrains REPL, автоматизация сборки, подстветка, автодополнение, все как положено.

anonymous
()
Ответ на: комментарий от vertexua

Законы Мерфи гласят, что если что-то плохое можно сделать, то оно будет сделано.

Язык для реальной работы обязан быть bondage & discipline.

anonymous
()
Ответ на: комментарий от anonymous

Альтернативное мнение. Не буду говорить что оно неправильное, но я предпочел бы больше возможностей чем в Java

vertexua ★★★★★
()
Ответ на: комментарий от tailgunner

Не припомню, чтобы он рассказывал о соревновании на скорость программирования.

Рассказывал-рассказывал.

не говоря о том, что в CL был одним из двух или трех используемых языков

Как минимум C++, Java, Perl, Python.

anonymous
()
Ответ на: комментарий от vertexua

Так а что по поводу IDE? Folone, не так давно писал, что работать с этим чудо языком можно только из Emacs'a с плагином ensime. Плагины для IDEA и Eclipse раскрашивают весь проект в красные тона, когда программист решил написать что-то сложнее json парсера.

anonymous
()
Ответ на: комментарий от anonymous

Язык для реальной работы обязан быть bondage & discipline.

Не, ну это точно кто-то троллит. :D

anonymous
()
Ответ на: комментарий от anonymous

Читать как «для closure нет приличной IDE, и не будет, потому как ее используют только фанатики».

Читать как: «Emacs также сложен в освоении, как и новая операционная система, которой он, по-сути, и является, но крайне эффективен в своём применении.»

mv ★★★★★
()
Ответ на: комментарий от anonymous

Не припомню, чтобы он рассказывал о соревновании на скорость программирования.

Рассказывал-рассказывал.

Цитату?

не говоря о том, что в CL был одним из двух или трех используемых языков

Как минимум C++, Java, Perl, Python.

Ты не понял. CL был только одним из языков, которые Грэм использовал для viaweb.

tailgunner ★★★★★
()
Ответ на: комментарий от vertexua

На скорость сборки мне по большому счету не дела. Как дела обстоят с автодополнением кода. А то учитывая, что в скале есть возможность перегрузки операторов и других ходов для написания хитрого кода, то у меня возникают сомнения на счет полной работоспособности idea.

anonymous
()
Ответ на: комментарий от tailgunner

Цитату?

Sometimes, in desperation, competitors would try to introduce features that we didn't have. But with Lisp our development cycle was so fast that we could sometimes duplicate a new feature within a day or two of a competitor announcing it in a press release. By the time journalists covering the press release got round to calling us, we would have the new feature too.

http://www.paulgraham.com/avg.html

Ты не понял. CL был только одним из языков, которые Грэм использовал для viaweb.

Это да, еще был C и Perl для второстепенных задач. Но именно качества Лиспа дали конкурентное преимущество.

anonymous
()
Ответ на: комментарий от anonymous

Но именно качества Лиспа дали конкурентное преимущество.

с учётом того что всё же ЯП - это просто инструмент, а также не менее известной истории о том как некто хорошо знающий лисп пытался его продвигать в google и что из этого вышло, а так же выводов которые он для себя сделал, мне кажется что «именно качества Грэма дали конкурентное преимущество», а лисп тут при том что Грэму было удобно с ним работать

shty ★★★★★
()
Ответ на: комментарий от shty

с учётом того что всё же ЯП - это просто инструмент

именно качества Грэма дали конкурентное преимущество

лисп тут при том что Грэму было удобно с ним работать

Так и есть, умные люди выбирают умные инструменты.

anonymous
()
Ответ на: комментарий от anonymous

Он бы и с бейсиком каку лохам впарил. Язык у чувака как следует подвешен, и это его главное качество.

anonymous
()
Ответ на: комментарий от anonymous

Так и есть, умные люди выбирают умные инструменты.

именно, и именно в такой формулировке

shty ★★★★★
()
Ответ на: комментарий от NoNameNoNumber

Хочу язык, на котором невозможно писать плохой код! :D

Вполне возможно, Ada будет стоять за спиной и бить по рукам указкой.

gensym ★★
()
Ответ на: комментарий от anonymous

Еще один специалист широкого профиля.

нет

jtootf ★★★★★
()
Ответ на: комментарий от mv

Интересно все таки дела обстоят. Народ как то неохотно использует Clojure при разработке проектов. По вакансиям Clojure - 300, Scala - порядка тысячи. И разработка на Scala преимущественно связанно с банковской сферой.

anonymous
()
Ответ на: комментарий от mv

Тогда сначала потыкаю Scala. Авось понравится.

anonymous
()
Ответ на: комментарий от anonymous

Интересно все таки дела обстоят. Народ как то неохотно использует Clojure при разработке проектов. По вакансиям Clojure - 300, Scala - порядка тысячи. И разработка на Scala преимущественно связанно с банковской сферой.

Это два очень разных языка программирования. С очень разными подходами. Scala будет привычней простому явовщику, но она монструозна. Clojure красива, но необычна.

dave ★★★★★
()
Ответ на: комментарий от dave

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

anonymous
()
Ответ на: комментарий от anonymous

Идея все пережевывает. Например имплиситы подставляет

vertexua ★★★★★
()
Ответ на: комментарий от anonymous

Если без монструозности, то тогда зачем Scala? :)

Например, вы знаете, что такое классы типов (type classes) из Haskell? Ну, так вот, нужно быть готовым понимать их реализацию через implicits. Это совершенно другой механизм из другой оперы, но позволяет достичь похожей цели. И нужно быть готовым встретить эти самые implicits даже в определении функции map в стандартной библиотеке коллекций. Казалось бы, что может быть проще функции map? Ан нет, даже она связана невидимой нитью с классами типов.

Мне сама Scala нравится. Даже очень. Но ее библиотека коллекций - это нечто. Позволяет делать многие сложные вещи просто, но устроена она внутри довольно, так скажем, необычно. То ли дело простые и непробиваемые модули Map и List из F#!

dave ★★★★★
()
Ответ на: комментарий от anonymous

Язык обязан быть убогим. И чем более убогий, чем более простой и дуболомный, тем лучше.

Язык должен быть простым и компактным. R5RS, например, простой и компактный язык. Java - убогий и неудобный язык. Улавливаешь?

encyrtid ★★★★★
()
Ответ на: комментарий от anonymous

Не просто «не нужны», а очень вредны и опасны. С лямбдами очень легко писать лапшеобразный код. С лямбдами всякие «умники» могут начать выпендриваться, и их код потом придется выкидывать как заведомо безнадежный и не подлежащий рефакторингу.

Вот и наркоманы пожаловали.

encyrtid ★★★★★
()

Получай удовольствие от программирования и освоения библиотек.

правильные языки и библиотеки есть на обоих платформах (это и называется переносимость)

вкладывайся в те навыки и знания которые тебе приятно получать и использовать тогда используя их ты получая оплату сохраниш и улучшиш своё психосостояние

qulinxao ★★☆
()
Ответ на: комментарий от anonymous

обьявление функций(и процедур) не нужно
ибо они приводят к формированию локальных данных которые не видны когда нужны и возможности рекурсии которая переполняет стек(тоже не нужно - автоматическое выделение памяти приводит к потери контроля программистом памяти машины) , да и сам факт использовании рекурсии в коде программы показывает что программист не думал над кодом не оптимизировал его для перевода в итерационую форму - а зачем нагружать ЭВМ неоптимальным кодом???

только COMMON секции только вычисляемый GOTO через sign x

qulinxao ★★☆
()
Ответ на: комментарий от anonymous

Про любую науку. От медицины и до, пардон, почвоведения.

Computer science наукой назвать сложно, 99% ее это бесполезное переливание из пустого в порожнее. Все основы были заложены еще давно, все что надо уже изучено, и практически ничего нового эта «наука» уже давно не производит. Вирт, Дийкстра, Кнут - серьезные и рассудительные люди, никаких там «горящих глаз» и «фонтанов идей».

Лол. Ты мне напоминаешь преподавателя физики в Мюнхенском университете, который пытался отговорить Макса Планка от занятий теоретической физикой, мотивируя тем что в физике все открыто.

encyrtid ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.