От же ж любят люди писать языки с ущербным синтаксисом, где вместо "private" etc надо добавлять прям как в венгерской нотации всякие иероглифы-преффиксы :-/
все это похоже на какую-то PR компанию, типа тех плясок в тель-авизоре, которые начинаются перед выборами. с лозунгом "лучше Java может быть только Ruby!"
re:От же ж любят люди писать языки с ущербным синтаксисом, где вместо "private" etc надо добавлять прям как в венгерской нотации всякие иероглифы-преффиксы :-/
Вообще, в этом есть рациональное зерно, надо посмотреть. Может мы зря плюёмся и если установить японскую локаль, то всё будет по-человечески выглядеть... ;-)
>ты прав, черт возьми! с ruby похоже на какую-то истерику, только не понятно - в рамках lor'а или пошире?
шире - книго-писателям стало сложно делать деньги на java
когда Род Джонсон, Мартин Фаулер и Джошуа Блох написали про java такие книги, что лучше написать сложно,
перед остальным встал вопрос - про что писать?!!!
Откопали ruby - слава ему, многие лета (хором).
Так что же есть ruby?
ruby неплохой скриптовый объектно ориентированный язык у которого:
синтаксис - да корявый (но лучше чем в PHP и PERL),
медленный (хотя для скриптовых языков вполне, быстрее PERL),
с юникодом есть проблемы(надеюсь решат),
ide нормальной нет (на базе Eclipse делают, но она пока сырая).
как замена PHP и Perl - вполне подходит.
Рекомендуют его сейчас для one man /one mounth проектов.
Приложения ентерпрайз-уровня за 20 минут!
Похудание за 1 день!
Востановление потенции за 1 прием нашего препарата!
Проходите, проходите, все совершенно бесплатно!!!
PS
Вот только бы потом с голой жопой бегать бы не пришлось ;)
1. автор не использует возможности java 1.5 - почему?
2. автор не упоминает о том, как сложно дебагить такой код
File.open("./src/dictionary.rb").each { |loc| puts "#{count += 1}:" + loc }
(да, замыкания бывает жутко сложно дебагить)
3. attr_reader :spelling
attr_writer :spelling
если перед установкой вам нужно вставить проверку - в ruby вы переписываете код с нуля, а в java добавляете одну строчку.
и это только при первом прочтении.
PS Не в количестве строчек кода счастье.
Программы надо писать так - что бы их было легко читать.
Читайте Фаулера - Рефакторинг и будет вам счастье.
Удавись, дебил. Есть там private. А то-что название класса, константы должны начинаться с большой буквы, так это правильно, иначе такое мурло как ты обязательно на всех насрет и напишет по своему.
Насчет IBM надо быть поспокойнее. Кто не первый год связан инфотехникой знает, что бимеры занимаются ВСЕМ. Это большой, толстый, всеядный монстр, он сеет и жнет, рожает и топчет, жрет и гадит одновременно :) Ну руби, подумаешь руби, или раби, или равви, или амен или демон - у IBM есть все .. И на PC мы сидим с вялой подачи голубого толстяка. Победит Ruby или сдохнет Ruby - бимерам не поплохеет. Это, к стати, касается и Linux :)
Тенденция однако... и это не может не радовать...
Специально для тех, кто в танке: пытаться на протяжении минимум 10 минут напряженно думать на тему почему статья называется "миграция с жабы", а не "миграция с пыхпыха".
>От же ж любят люди писать языки с ущербным синтаксисом, где вместо "private" etc надо добавлять прям как в венгерской нотации всякие иероглифы-преффиксы :-/
От же ж любят люди писать языки с ущербным синтаксисом, где вместо BEGIN ... END etc надо добавлять всякие иероглифы :-)
>Специально для тех, кто в танке: пытаться на протяжении минимум 10 минут напряженно думать на тему почему статья называется "миграция с жабы", а не "миграция с пыхпыха".
>File.open("./src/dictionary.rb").each { |loc| puts "#{count += 1}:" + loc }(да, замыкания бывает жутко сложно дебагить)
В каком месте здесь замыкание? Или сейчас модно везде, даже не в попад пихать термины из функциональных языков?
>attr_reader :spelling attr_writer :spelling если перед установкой вам нужно вставить проверку - в ruby вы переписываете код с нуля, а в java добавляете одну строчку.
В жабских программах в 99% случаев код setXxx getXxx ничего не делает кроме тупого чтения/записи переменной экземпляра. Короче - если известно, что 1 из тысячи младенцев станет впоследствие насильником, то что, надо всем при рождении яйца и хуи обрезать?
>PS Не в количестве строчек кода счастье.Программы надо писать так - что бы их было легко читать.
Всегда забавляло это утверждение! А что Вы серьезно полагаете, что чем больше строк кода, тем легче читать программу? Если нет, то преимущества более короткого кода очевидны.
Ну и что? Я вот еще в Джаве такой оксюморон, как "private protected" застал. Правда, к появлению IBM OS/2 Warp 4 "Merlin" в Java v. 1.0.2 это недоразумение сняли.
Ну, а что касается коммерческого софта, на котором бимеры делают бабло - то это COBOL для zVM или zOS.
ЗЫ. Сам пишу на Java. Точнее, создаю UML диаграммы, поскольку сам уже не т.н."кодер".
Купил я сие поделие в Кокосии. Местное население (кстати, знающее, не только синусы и косинусы, но и функции Беселя:), несмотря на неиндусское, не африканское , не "одесское" и не славянское происхождение:):):)) порекомендовало.
Ну а для тех, кто хочет халявных книжек разного качества (в основном, невысокого, "разбавленных водичкой"):
ftp://194.85.41.42/BOOKS/
Хотите конкретных технологий - читайте бимерские редбуки:
Нет: просто потому, что руби это конкурент в первую очередь жабы, а не перла с недоязыком-пыхпыхом.
И автор одной из лучших книг по жабе это прекрасно понимает в отличии быдлокодеров...
О нет! Только не это! Когда пошли главы про "распределенные" возможности Джавы, то книга стала, IMHO, весьма поверхностна. :( В этом случае только классический тьюториал Гослинга - его я тоже прикупил. (Для тех кому нужен volatile :) - не тьюториал, а спецификацию - это я качнул нахаляву:)).
А вообще позвольте, пользуясь случаем, поздравить любителей языка Java заранее с наступающим Новым Годом. И пожелдать успехов жабакодерам, UML-жабадизайнерам, жаба-деплойерам и просто всем пользователям Java (включая, мобильных:)) в Новом году!!!
ну и статья ;-)
Автор не использует синтаксис java5
зачем то пишет this там где это не нужно
использует 4 конструктора там где хватает одного
полагает,что к атрибутам надо обращаться на прямую
...
Если бы он не был так озабочен PRом рябы, то получилось бы, что на java код такой же компактный, но зато читаемый (в отличии от рябы).
Сравните сами ряба -
def add_synonym(synonym)
@synonyms << synonym
end
и java
void addSynonym(Word synonym){
synonyms.add(synonym);
}
или снова ряба
definitions.each{
|idef| idef.word = self
}
и java
for(Definition d:definitions){
validate(def);
}
Также автор считает, что достоинство рябы в том, что можно накидать кучу классов в один файл.
И в java можно, но любой кто работает в команде знает, что лучше с системой контроля версий работать над разными файлами. пока рябой програмер будет все время решать конфликты со вторым рябым, java программисты будут продолжать работать.
Так же автор забыл упомянуть как много "плюсов" несут языки с нестрогой типизацией, как весело бывает пол для искать ошибку адептам таких языков. И как бывает счастливы пользователи, которые находят результаты этих ошибок (ну забыл, что с него взять, ряба она такая).
Почему то автор забыл указать какой ряба тормоз.
Кто тут ругал java что она отстает от С на какие то проценты?
Ряба проигрывает java в разы, говорят даже свой сайт разработчики rails не смогли на рябе хостить когда тот обрел популярность.
Короче, как уже тут сказали ряба - язычок для проектов на одном человек один месяц. Да и то, я бы не советовал руки марать.
ага. А теперь представь что defintions.each это, например
def definitions.each
[ @russian, @albanian ].each { |lang|
def lang.word=(str)
# construct special udaff.com analogue
lang.voice(str2)
end
yield lang
end