LINUX.ORG.RU

Дилемма

 ,


0

4

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

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



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

Многословность, многократное повторение важного - это вообще-то основа риторики.

«Повторение - мать учения» - не? А в риторике многократно повторяющего одно и тоже барана сразу отправляю в игнор.

И с кем я спорю, когда код пишу? 80 Хотя вот да, явовский код вперемешку с доками - это как раз их серии «как что-то объяснить малолетнему дебилу» :)

yyk ★★★★★
()

Жаба черезчур многословна и неумеет процедурный стиль, что иногда крайне полезно. В общем это нечто вроде Cobol'а 21ого века.

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

Жаба черезчур многословна и неумеет процедурный стиль, что иногда крайне полезно.

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

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

Мне много с кем не по пути: с перловодами (однострочник знаменитый все помнят?), с «умниками», которые пишут непонятный код, с любителями obfuscated C. В общем - со школотой, которой не место в энтерпрайзной разработке.

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

А в риторике многократно повторяющего одно и тоже барана сразу отправляю в игнор.

Ну начни с игнора тогда самого Цицерона, он первый это правило сформулировал.

И с кем я спорю, когда код пишу?

Ты не споришь - ты доносишь мысль. А мысль должна быть простой и ясной, как пень. И, желательно, несколько раз в разных формах повторенной.

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

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

На Java можно писать и чисто процедурно. Но не нужно. ООП всегда предпочтительнее.

anonymous
()

Анонимус, конечно, правильно всё говорит, только правильно это, если ты enterprise архитектор с висящей на шее огромной стаей низкооплачиваемых быдлокодеров, которых нужно палкой заставлять выдавать столько-то строчек в час, а дома ждет голодная жена и двое детишек.

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

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

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

И лоботомию прогеру, чтобы не умничал.

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

По-умному это и есть «не умничать», а делать простые вещи простыми способами. Умный код всегда прост и прозрачен. И чем умнее, чем профессиональнее программист, тем более простой код он пишет. Профессионалы свои руки о лиспы и скалы никогда не замарают.

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

Нелья. После лоботомии они все почему-то на лиспе писать начинают, да на ЛОРе функциональщину пиарить.

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

После лоботомии они все почему-то на лиспе писать начинают, да на ЛОРе функциональщину пиарить.

Хм. А ты вот про Хаскель что-то сказал...

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

Что-то я тебя переоценил, второкурсник какой-то, со взором горящим и бучем под подушкой.

Или ты так быдлокодеров в стаю заманиваешь? Тогда ладно, не буду мешать.

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

Ну да - даже лоботомированные функциональщики, и те (если таблеточки принять не забудут) понимают, что код должен быть многословным и что важную информацию надо дублировать. А уж люди с IQ выше 100 единиц и подавно должны это понимать!

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

По-умному это и есть «не умничать», а делать простые вещи простыми способами. Умный код всегда прост и прозрачен. И чем умнее, чем профессиональнее программист, тем более простой код он пишет. Профессионалы свои руки о лиспы и скалы никогда не замарают.

Ты сейчас вот умничаешь, а задача-то простая - потроллить со студентами и школьниками в выходной.

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

Хочешь посмотреть на настоящий быдлокод? Иди на CPAN или hackage. Всем быдлокодам быдлокод, высер резвящейся студентоты.

А если хочешь увидеть произведение искусства, работу настоящих профессионалов, то смотри на Apache Tomcat и другие популярные проекты.

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

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

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

код должен быть многословным... люди должны это понимать

Как же тебе тяжко живётся: и код тебе должен, и люди тебе должны, в том числе и лоботомированные функциональщики. Ужас! И javadoc ты уже возвёл в ранг литературного программирования... И из топикастера явно собрался вырастить себе (или такому как себе) ещё одну жабо-мартышку.

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

Нельзя! На освоение всех основных фреймворков нужны годы, сами языки по сравнению с ними вообще ноль.

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

Бугага. Ты сам то где работаешь? Если работаешь, то на чем пишешь? Я сильно сомневаюсь что это что-то из разряда Clojure/Scala/F# и иже с ними.

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

А комбинаторы S и K это еще компактнее. Давай теперь все на них писать, да? Компактность это зло.

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

В Java есть анонимные классы

Я про них и говорил.

А лямбды народ пихает далеко не только в коллбэки, для которых они только и предназначенны, а много куда еще. Так что когда их нет, нет и опасности, что кто-то выпендрится.

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

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

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

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

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

Ты сам то где работаешь?

Я вот работаю дома. Считаю, что работать где-то ещё - удел неудачников (хотя, возможно, например, где-нить в NASA или на БАК и интересно, но только в качестве временного развлечения).

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

Да, критерием хорошего языка является та культура программирования, которую язык насаждает. Java создает хорошую, правильную культуру. Языки с лямбдами порождают хакерскую культуру, уровня «глядите все, я крут, я еще и вот так выпендриться могу, и вот эдак». По этой причине в хорошем языке лямбд быть не должно. Так же как и goto, и автоматического вывода типов (как «var» в шарпе или «auto» в плюсах), и LINQ-ов всяких, и даже сахара для геттеров-сеттеров не должно быть.

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

Нельзя! На освоение всех основных фреймворков нужны годы, сами языки по сравнению с ними вообще ноль.

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

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

Язык должен бить по рукам каждому, кто занимается небезопасным рукосуйством. И при этом должен помогать в разработке и поощрять хорошие, безопасные, поддерживаемые практики. В Java все это есть.

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

Фреймворки для Java есть под все задачи, какие только можно вообразить. У шарпа же все намного хуже, и качество доступных библиотек намного ниже (еще бы, язык-то убогий, с лямбдами и сахером).

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

Да, критерием хорошего языка является та культура программирования, которую язык насаждает. Java создает хорошую, правильную культуру. Языки с лямбдами порождают хакерскую культуру, уровня «глядите все, я крут, я еще и вот так выпендриться могу, и вот эдак». По этой причине в хорошем языке лямбд быть не должно. Так же как и goto, и автоматического вывода типов (как «var» в шарпе или «auto» в плюсах), и LINQ-ов всяких, и даже сахара для геттеров-сеттеров не должно быть.

Разница между нами в том, что я считаю такие вещи, как лямбды, совершенно обыденными инструментами, которые должны быть везде. А ты - хакерским выпендрежом.

Тут вопрос в том, это у меня юношеский максимализм или у тебя старческий маразм.

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

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

Я всю жизнь занимаюсь поддержкой чужого кода. С C++ это был ад. С Фортраном это был ад. А с появлением Java жизнь стала простой и приятной. А ведь средний уровень квалификации тех, кто пишет сейчас на Java сильно упал по сравнению с теми, чей код на Фортране и плюсах я поддерживал пятнадцать-двадцать лет назад. Так что все дело именно в языке и в культуре, а не в навыках программиста.

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

Язык должен бить по рукам каждому, кто занимается небезопасным рукосуйством. И при этом должен помогать в разработке и поощрять хорошие, безопасные, поддерживаемые практики. В Java все это есть.

Как я и говорил, в качестве примера, чтобы передать каллбэк на джаве нужно сделать что-то типа такого (прошу прощения, если что не так, на джаве не пишу):

addCallback(new CallBackClass() { int CallBackFunc(int x) { return x + 1; } });
Чтобы сделать это же на шарпе с учётом лямбд и событий, нужно сделать так:
Callback += x => x + 1;
О каких безопасных практиках речь в этой джаве может идти речь, когда тут на пустом месте появляется стопятьсот разных скобочек, которые никакой смысловой нагрузки по сути не несут?

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

Я всю жизнь занимаюсь поддержкой чужого кода.

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

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

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

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

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

А я и не должен быть умным. Таких, как я, большинство. И писать код ты обязан, рассчитывая на меня. Поверь, сам ты лет через пять тоже будешь не рад читать свой сегодняшний код. У тебя уже другие интересы будут.

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

Java создает хорошую, правильную культуру.

жаба головного моска

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

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

Я вон чуть выше писал про то, что передние конечности тоже можно куда-нить не туда засунуть. Это же не повод их теперь отрубать.

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

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

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

А я и не должен быть умным. Таких, как я, большинство. И писать код ты обязан, рассчитывая на меня. Поверь, сам ты лет через пять тоже будешь не рад читать свой сегодняшний код. У тебя уже другие интересы будут.

Я пожалуй буду писать код, расчитывая на адекватных программистов. Чтобы я расчитывал на тебя, тебе слишком дорого обойдётся.

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

Я вот работаю дома.

домашняя-страничка-десигнер детектед :)

Считаю, что работать где-то ещё - удел неудачников

segmentation fault :)

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

По этой причине в хорошем языке лямбд быть не должно.

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

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

Серьезно, я неоднократно видел код на шарпе, полный всяких там fold-ов и map-ов на ровном месте, там, где надо было написать простой и понятный цикл for. И авторы на полном серьезе, брызжа слюной, доказывали что их код с лямбдами и фолдами понятнее и читабельнее.

Интересно очень. Я как-то работал в одной конторе. Там тоже был ведущий программист, который вместо одного LINQ-запроса предпочитал писать кучу циклов и промежуточных коллекций. Оно было более громоздко, оно работало медленее, в нём чёрт ногу сломит, но... он всех заставлял так делать, аргументируя тем, что так ему понятнее. Ещё у него тоже был опыт на C++. А ещё он был гомосексуалистом.

Это я по сути ни о чём, просто вспомнился неприятный момент из жизни.

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

Я пожалуй буду писать код, расчитывая на адекватных программистов. Чтобы я расчитывал на тебя, тебе слишком дорого обойдётся.

1) Уверен, что я намного адекватнее тебя. Особенно если учесть твой бред про работу дома. Ты пишешь хеллоуворлды и домашние странички васепупкиных, я же поддерживаю энтерпрайзные системы стоимостью в миллионы долларов.

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

3) К счастью, шарпа в энтерпрайзе нет и не предвидится. Шарп - удел студентоты. И пока у нас есть Java, пока Oracle ее защищает от развития не в ту сторону, все будет хорошо, как бы всякие там моськи не тявкали. От вашего воя «лямбда-лямбда-лямбда» ничего не изменится, слон как шел, так и будет идти дальше. И все вращающиеся в этой сфере миллиарды как проходили мимо карманов работающих дома мосек, так и будут проходить.

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

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

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

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

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

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

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

ты эта, поясни как это молодые студенты соотносятся с мейнстримом? :) молодые они на то и молодые, что пороху ещё не «нухавшие»; а что есть тот «порох»? да помимо написания самого кода, поддержка того что ты написал в течение продолжительного времени, и вот когда с этим сталкиваешься на практике и в сложном проекте, сразу понимаешь этих самых «динозавров»

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

в _лиспах_ да _смаллтолках_ это все было от рождения

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

с тех пор поумнели, позврослели

На счет 'поумнели' это еще вопрос.

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

1) Уверен, что я намного адекватнее тебя. Особенно если учесть твой бред про работу дома. Ты пишешь хеллоуворлды и домашние странички васепупкиных, я же поддерживаю энтерпрайзные системы стоимостью в миллионы долларов.

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

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

К счастью, я смутно представляю, что вы такого должны мне предложить, чтобы я пришёл к вам хотя бы на собеседование. Не говоря уже про.... что ты сказал? Испытательный срок? :-D

пока Oracle ее защищает от развития не в ту сторону, все будет хорошо

Оракл? Защищает? :-D

И все вращающиеся в этой сфере миллиарды как проходили мимо карманов работающих дома мосек, так и будут проходить.

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

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

Намекаешь, что смаллтолк не функциональщина? Вынужден тебя разочаровать, функциональнее некуда. Лямбда там основная конструкция, хоть ее и зовут «code block». Чем

[:x | x + 1]
отличается от
\x . x + 1
?

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