Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 5
×

Python vs Ruby

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

Интересуют некоторые вопросы :

1) Так называемый «порог входа»
2) Перспективы в Украине и за рубежем
3) Развитие технологий
4) Проблемы данных инструментов

Хочу развиваться в сторону WEB в частности server side, хотелось бы услышать мнения «человеков» которые работали или знают что-либо об этих технологиях, php не предлагать. Вообще мне будет полезна любая информация, сам склоняюсь к Питону но вакансий больше по Руби. Изучаю Питон+Джанго, а до рубиновых рельс ещё не добрался (поверхностно) может вы что-то подскажите ?
Большое спасибо !

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn

Найкращі коментарі пропустити

ПАЦАНЫ, Я СЕГОДНЯ ШЕЛ ПО ИНСТИТУТУ И ВДРУГ УВИДЕЛ ПИТОНОЁБА В ФУТБОЛКЕ «I LOVE PYTHON», НУ Я РЕЗКО ПОДСКОЧИЛ К ДЕКАНАТУ, РЕШИТЕЛЬНО ЗАБРАЛ ДОКУМЕНТЫ И ПОЯСНИЛ ИХ КРИКОМ «НЕ ЛЮБЛЮ ПРЕСМЫКАЮЩИХСЯ»! ПОТОМУ ЧТО Я УГОРЕЛ ПО RUBY, ПАЦАНЫ, ДУХ Smalltalk ЖИВЕТ ТОЛЬКО В РУБИ, ГДЕ ФУЛЛ ООП, ГДЕ РУБИСТЫ ЖИВУТ МЕТАПРОГРАММИРОВАНИЕМ И ЕБУТ ОБГВИДКОВ В РОТ! ТОЛЬКО RUBY, ТОЛЬКО ДИНАМИКА, ТОЛЬКО ООП!!! ПРИМЕСИ ИТЕРАТОРЫ ОБЪЕКТЫ!! РУБИСТЫ, не учитесь со ПЕТОНОЁБАМИ, УГОРАЙТЕ в настоящем ЯЗЫКЕ, любите РУБИ, ОТКРЫТО И СМЕЛО ОТЧИСЛЯЙТЕСЬ, ПЕРЕВОДИТЕСЬ НА ДРУГОЙ ФАКУЛЬТЕТ!

Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Могу вечно смотреть, как все темы ЯП1 vs ЯП2 превращаются в эпичный холивар

puts «Hello World» #Ruby

print (’Hello World’) #Python

все залежить від того що ти можеш зробити за допомогою будь якої мови... орієнтуйся на свою спроможність виконувати замовлення...

в Руби тоже есть print, только он с новой строки не выводит..

Ruby это легаси, Python еще нет
рельсы говно из ада
следовательно работы по руби и рельсам будет больше — что же еще отдавать на аутсортинг в поддержку

Задачі, що ставляться для цих двох мов по-суті однакові і недоліки та переваги по-суті ті ж самі. Тут більше різниця в синтаксисі та ідеології розробників. Наприклад, мені більше до вподоби Python зі своїми обов’язковими відступами для блоків кода, що мінімізує кількість фігурних дужок і всього такого, завдяки цьому ж код, що пишуть інші, виглядає досить однотипно. В Python також менше способів зробити те ж саме: ті ж обходи списків і т.п. Це мені до вподоби.

Python також більш універсальний, для нього більше готових біндингів. Ну а Ruby власне цінують люди, яким те, що я навів, здається диким.

Проте ви можете і самі зробити висновок для себе про Рубі, спробував пройти початкові курси на тому ж Codecademy.

И шо? Проблемы остались те же. )


1) Так называемый «порог входа»
2) Перспективы в Украине и за рубежем
3) Развитие технологий
4) Проблемы данных инструментов

нет, для большинства из тех, кто на распутье, ответ уже очевиден... когда этот топик создали, вакансий по руби и пайтону на ДОУ было поровну, сейчас — сами посмотрите. Да и вообще — не хочу холиварить, но если в 2012 в devops рулили chef,puppet,vagrant,logstash (всё на руби), то сейчас в тренде ansible(python), terraform(go), influxdata(go)
В вакансиях требование знать Ruby ушло на второй план (мол нужно знать Python ну или можно и другой язык, например Ruby)
Не отрицаю, что где-то в веб-деве рельсы всё ещё вполне неплохо себя чувствуют, но времена повальной рубизации всего что движется — уже в прошлом

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

О! Пользуясь случаем хочу узнать. А есть ли тут кто из Винницы кто занимается Ruby или Python?

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

В споре рождается истина. И этот «холивар» определяет мейнстрим.

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

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

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

Чистый неразбавленный снобизм.

Хаскель разве умеет горячую подмену кода и стиль let it fall?

стиль let it fall
Вы бы еще стиль let it shit-code попросили.
Я не против erlang, но местами требуется предсказуемость

Не, рынок

let it shit-code
уже занят многими языками.
но местами требуется предсказуемость
ммм, а какие проблемы с этим в ерле?
Node.js выбирай
... жги, воруй, убивай

Ruby и рубисты — это скорее секта сектантских сектантов, поэтому как-то так:
1. node.js
2. Python (добавляем Tornado Server/Twisted и получаем ту же асинхронность, но только это уже Python)

node.js и twisted/tornado нужно понимать чуть более лучше, чем меню старбакса и команду brew install nodejs (: Замыкания имеют привычку течь в трясущихся руках накофеиненного хипстера. С gc и поднятии исключений в ноде тоже не айс =Ъ

>_> вроде есть coffeescript для криворуких под нодой?

Замыкания имеют привычку течь в трясущихся руках накофеиненного

А можно примеры?

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

Наброс — это да. Но вот дальнейшее развитие событий доставляет Ж)

Прошел слушок, что чуваки из Iron.io мувнулись с ruby на go, сократив при этом парк серверов с 30 до 2, получили хороший оффлоад по папяти и cpu на оставшихся двух и неплохо облегчили deployment процесс. Наверное они сумасшедшие?
И да, там есть native threading и goroutins, а как известно — native threading в руби тот еще фейк (да, он есть в rubinius и jruby, в python есть PyPy, весьма активно развивающийся и недооцененный по крайней мере в стране желто-голубого сала), но какой процент их использования? Проблема GIL хорошо известная питонистам и как-то очень красиво замалчивается руби разработчиками (наверное потому что они тут все давно RoR-developers сталиб, а им то какое дело до таких низов?)

Ви таки я смотрю на своих андроидах уже и golang во всю гоняете? Оно то понятно, на C/C++ basic level и JSON and XML parsing далеко не уедешь. Не то что эссе на эссемблере.
Golang весьма хорош, выразителен и безопасен в отличие от с/с++, местами напоминает python, местами C, но без извращений. Тащит gc и уже оброс внушительным набором библиотек и парой фреймворков. Но извините, не попса, не попса.

не пробовал не знаю
Так тогда может и не стоило комментом выше говорить уверенные фразы о скорости разработки? Попробовал бы, пару годков в одном, пару в другом, а там, глядишь и статейку годную о сравнении накидал бы.
си и го немного в разных весовых категориях
Таки они в одной. Нативный код на выходе, без ебопрослоек. Нет всего этого вашего ООП и есть любимые всеми ссылки/указатели (а вот арифметику выкинули)
ссылки есть и в руби
То есть там можно выполнить операцию разыменования указателя? FFI не предлагать
в го от ооп не отказывались полностью
Писать Йода мастер учил вас
В golang есть понятие объекта, серезно? Не смущает тип struct в декларации? Никаких пересечений с конструкцией struct в С не навевает?
то есть ты утверждаешь что в руби ссылок нет?
То что ты называешь там ссылками есть by design во всех динамических языках.
Доступа к значению по адресу там всё равно нет
ну тип struct и дольше то что?
Так а где тогда там объекты? Недоклассы/переструктуры?
Где наследование? Где инкапсуляция? Оставился только полиморфизм с интерфейсах и всё. Только отдельные концепции.
инкапсуляция даже в си есть
Ок, пример на private members для структур мне пожалуйста. И без извращения с заголовками/реализацией, а так, чтобы на уровне кода нельзя было добыть внутренности.

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

Ты не можешь объявить private свойство структуры, тебе нужно сделать заголовок и отдать скомпилированный бинарник, код платформо-зафисимый, проблемы с переносимостью на лицо. Это хитрый хак, сродни костылям. Языки с поддержкой oop дают тебе возможность декларировать доступ к данным встроенными средствами на уровне синтаксиса. В go нет ооп

для аналогии можно вспомнить разрыв связи с прототипом в JS, как попытку сделать «нормальное» наследование.

примера кода не вижу, маном в лицо может любой ткнуть

developer.gnome.org/...ml#id-1.6.3.7.5

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

Используется подход с заголовками, тем не менее, всё портируется юез проблем.

Коментар порушує правила спільноти і видалений модераторами.

Ruby on Rails в Украине чуть чуть перспективней «Питона», как-то больше распространен виду того что больше ориентирован под WEB, по этому RoR больше доверяют, так как куда не глянь везде WEB вот так и получается. Про порог входа сложно сказать что RoR сложней «Питона», я бы сказал одинаково ! Как по мне так для WEB действительно лучше Ruby нежели «Питон», единственно что мне не нравится так это название языка : «Ruby — <Руби>» — д*ибилизм чистой воды, а не название (имя) языка, просто отвратительно !

Помоему название «питон» звучит отвратительнее ))

Тогда говорите «Пайтон» :)

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

Это какие то негативные герои народного эпоса питонщиков?

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

Дяденька, я только форсил, бампнул не я, это всё он

Ruby on Rails в Украине чуть чуть перспективней «Питона»
Поцоны из старшего класса сказали, что jQuery в Украине немного перспективнее PHP

название языка означает рубин, говорите рубин)
говорят же питон, а не пайтон..

ПАЦАНЫ, Я СЕГОДНЯ ШЕЛ ПО ИНСТИТУТУ И ВДРУГ УВИДЕЛ ПИТОНОЁБА В ФУТБОЛКЕ «I LOVE PYTHON», НУ Я РЕЗКО ПОДСКОЧИЛ К ДЕКАНАТУ, РЕШИТЕЛЬНО ЗАБРАЛ ДОКУМЕНТЫ И ПОЯСНИЛ ИХ КРИКОМ «НЕ ЛЮБЛЮ ПРЕСМЫКАЮЩИХСЯ»! ПОТОМУ ЧТО Я УГОРЕЛ ПО RUBY, ПАЦАНЫ, ДУХ Smalltalk ЖИВЕТ ТОЛЬКО В РУБИ, ГДЕ ФУЛЛ ООП, ГДЕ РУБИСТЫ ЖИВУТ МЕТАПРОГРАММИРОВАНИЕМ И ЕБУТ ОБГВИДКОВ В РОТ! ТОЛЬКО RUBY, ТОЛЬКО ДИНАМИКА, ТОЛЬКО ООП!!! ПРИМЕСИ ИТЕРАТОРЫ ОБЪЕКТЫ!! РУБИСТЫ, не учитесь со ПЕТОНОЁБАМИ, УГОРАЙТЕ в настоящем ЯЗЫКЕ, любите РУБИ, ОТКРЫТО И СМЕЛО ОТЧИСЛЯЙТЕСЬ, ПЕРЕВОДИТЕСЬ НА ДРУГОЙ ФАКУЛЬТЕТ!

Ебать, чувак, ты чего такого покурил на ночь ?

Это просто перебор с фенотропилом ! Когда много сожрешь так и хочется кого нибуть убить !

Ту ветку не читал из-за абсурдности вопроса.

Ту ветку не читал из-за абсурдности вопроса.

А эта типа не абсурдная?

Угу. И каждый янгстер считает своим долгом самоутвердиться на ДОУ пофорсив боянный мем с матюками. Самому то не уныло?

ЗЫ. Я бы за такое банил. Гуманно, на пол годика.

Банить не надо, но боян уныл, да.

Да я так, набросить только. Не будьте снобом.

нужно было ещё и трубу отжать, а так низачёт

Я тоже маялся холиварами, что лучше джава или сишарп. Алгорим простой как лопата. Пальцем тык в .NET’ или Джаву или еще куда-то и зубри книги, спеки и т.д. пиши программы и упражняйся. Время тик так тик тик и иди на собеседование , пару раз мордой в грязь а ты учи того чего не знаешь и еще раз в атаку и будет профит.

да не рассказывай, ты просто взял и открыл на ДОУ рейтинг з/п, увидел цифры рядом с вакансией Senior Java туда-сюда прикинул в уме и пошел сдувать пыль с «Философии жабы» Эккеля, стыренной у одногрупника еще на 4-м курсе

конечно, еще с 5-го класса =(

Я смотрю на больную мозоль наступил?

8 лет — это молодой фреймворк?

Че то вспомнилось:

Руби — 95 год выпуска.

Питон — 91.

Джава — 95.

Интересно, как вы определяете для себя старый язык или молодой?

Руби — 95 год выпуска.
Питон — 91.
Джава — 95.

Интересно, как вы определяете для себя старый язык или молодой?

А когда они стали известными?

Дык, если известность == распространенность — тогда известность — ничто. Лисперы подтвердят.

если известность == распространенность

Нет. Известность — это когда о нем узнали и начали проявлять интерес массы, не обязательно начали с ним работать, а узнали.
Джава — средина-конец 90-х (создавалась не в 95, а на пару лет раньше)
Руби — с выходом рельс (2003-2005)

Питон — в то же время, Зопе — был как-то не особо популярен (но это сугубо субъективно, и тут могу ошибатсо).

Разработка джавы с начала 90-х, но офиц релиз только в середине девяностых.

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

Как его можно обозвать? Молодой и динамично развивающийся? Старый и заматерелый?

И, что имеется в виду под старым/молодым применительно к языку?

Руби — 95 год выпуска.
Питон — 91.
Джава — 95.

Есть языки которые вечно молоды

Perl всему голова, и пхп пророк его.

а по отношению к кому/чему элитарно руби-комьюнити?

рубисты везде такие. Доля хипстеров с чсв over 9000 весьма значительная.

Питонисты в Украине такие же точно — в массе.

Напугали вы меня, я сначала решила, что это один и тот же человек сам с собой спорит(:

особенно когда поднимается зарплатный вопрос и сомнения в их проф-пригодности

дада, именно поэтому как минимум в 5 гордах регулярно проводятся открытые ивенты по профильной тематике без попытки схантить/попиариться/погреть ЧСВ. Не верьте питонистам, они подлые змеи

Спасибо за подробные ответы ! А что правда Питон на много легче\проще Java ? Судя с вопроса Sayrx Freedom !

Понял, большое спасибо за разяснения.

Поправка на перформанс — Руби такой же по скорости, как Питон.

Большинство библиотек переведено и поддерживается. PyPy использует JIT и по скорости опережает CPython. Если сравнивать симметричны версии, (python 3.3 и ruby 1.9.3, например), то по скорости как раз таки python выигрывает, но разрыв уже меньше, чем было во времена ruby1.8. Дальше — стоит послушать вас самих: ruby малоизвестен за пределами RoR, про python уже чуть сказали — десктоп (хотя pyQT, wxPy и pyGTK выглядят страшновато), сетевой уровень (много где в геймдевах и ваш любимый скайп используют twisted), облака/шмоблака (openstack). Ruby за пределами мира RoR это пожалуй только chief и puppet для работы с инфраструктурой. У python помимо django есть еще много интересных фреймворков, достаточно популярных в коммьюнити.

Еще одно но — это всё мало востребовано в суровом и беспощадном украинском аутсорсе. (: Дальше RoR/Django/OpenStack вас не пустят.

руби тормоз, питон по скорости как пшп, по виду — как делфи.

сейчас мейнстрим это js на сервере

сейчас мейнстрим это js на сервере

че че? =)

сейчас мейнстрим это js на сервере
че че? =)
Среди хипстеров.
Надо бы запилить страничку модерновый терминов.
Хипстеры любят руби, местами пайтон и жс на сервере.
Геи предпочитают хаскель.

Какие типы там у нас еще есть ?

Геи предпочитают хаскель.

Ого новости. Это откуда такое известно?

В интернетах несколько раз натікался на подобное именование хаскелистов... особенно ерлангисты их так именовали.

лол, просто, лол. «А еще земля стоит на 3х китах...»

Если это откровенный бред, то чего это вы все сразу кинулись отбиваться?

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

ну дык, он с православными фигурными скобочками (и без, ежели кофискрипт) , скорость норм, плюс lock-free

Как раз есть смысл — для всех Java-шопов, которые деплоятся на сервера приложений.

Груви — то еще добро, лучше сразу Scala и не засорять мозги всяким мусором

Что не так с груви?

А зачем он нужен? Что он дает для jvm, чего там уже нет?
Скоростью не блещет, новых подходов/парадигм не реализует, выразительность?
Коммьюнити хилое, девелопится одним хромым калекой, кроме как суррогатного grails — что там есть хорошего? Где рынок и спрос на разработчиков?

по всем вопросам всё ок

руби тормоз

Как бы давно уже не так — самая пузомеристая пузомерка намекает, что и jRuby, и Ruby 1.9, и — шок! — PHP — все они быстрее Python 3. Как дальше жить?!

shootout.alioth.debian.org/...are-fastest.php

Забыли про REE

я хз как и куда вы там смотрели, но
в 8ми из 10ти тестов питон таки быстрее
тоже касается и jruby

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

Я действительно заглянул внутрь, действительно увидел, что Питон в индивидуальных бенчмарках обходит Руби. Но в отличие от вас, я не стал останавливаться на этом и орать с пеной у рта на провокатора. Я решил посмотреть код самих бенчмарков тоже, и что же я увидел? Большинство реализаций на Руби — просто Руи-код, однопоточный, написанный на чистом Руби. А вот в случае с Питоном почти каждый бенчмарк — то NumPy прикручен (который работает на уровне нативного кода), то многопоточность используется. Там же, где многопоточность используется в обоих языках, Руби таки-рвет Питона как Тузик грелку.

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

Я действительно заглянул внутрь

правда?

Но в отличие от вас ... орать с пеной у рта на провокатора

жесть. вам тараканы жить не мешают?

просто Руи-код, однопоточный

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

NumPy прикручен

нет там нампай. ну теперь хоть понятно как вы смотрели :)

Руби таки-рвет

еще раз — в 8ми из десяти тестов руби слил. вы же сами привели этот бенч как показатель

Ой ребята а можно задать <> немножко не по теме, ну очень хочется знать возможно из собственного де*билизма :
А вы чувствуете что после Python остальные «крутые», «мощные», «популярные» языки как Java или C++ кажутся сложными, нудными, не поворотливыми ?
Особенно работа с коллекциями в Java после Python это просто УЖАС ! В Python вроде так всё просто, быстро и красиво, просто язык моей МЕЧТЫ ! Теперь смотрю на Java как на что-то очень страшное !

Я конечно ничего ОГРОМНОГО не создавал Java и Питоне но мне так «здалось» что после Питона на другие и смотреть не хочется ! И работа с сокетами в Питоне одно удовольствие, либо просто я ничего сложного не писал на нём ! Но я буду благодарен если ответите мне ...

Ага, а после скалы хочется вообще пойти выкинутся из запечатанного пластикового окна оффиса.

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

Вот многие говорят что на Python\Ruby\Perl больших проектов не написать (имеется ввиду WEB) в отличии от Java\C# потому что они интерпретируемые, с динамической типизацией, сложно отлаживать и поддерживать такой (особенно когда 100к строк) код !
Даже если это и так, но ведь на этих языках явно можно сделать больше и лучше чем на php ! И тем не менее вакансий на «ПоХаПе» — 1100, а на Python\Ruby\Perl — 350 вместе всех взятых, вопрос : Так какого же хрена более «вкусный» и мощный Python менее востребован чем «ПоХаПе», если на Питоне можно сделать тоже и даже больше ?

ак какого же хрена более «вкусный» и мощный Python менее востребован чем «ПоХаПе», если на Питоне можно сделать тоже и даже больше ?

потому что в питоне нет фигурных скобочек.

Вы заблуждаетесь. Все из-за фигурных скобочек на самом деле

А как же словари?! Шах и мат, пыхописты!

900 из 1110 — саппорт или обтяжка друполвордпрессов темами/плагинами.

посмотрите на Руби — там намного все лаконичнее и гибкий. Хотя Руби основан на тех же парадигмах, что и Питон. Но во многих конструкциях в Руби код короче получается.
см. тут:

habrahabr.ru/...in/blog/137497

Гибкий Руби — значит, что есть несколько вариантов, как сделать одну и ту же задачу.

Фреймворк Rails — достаточно молодой, но очень быстро развивающийся. И уже есть очень много гемов (модулей) для разных задач.

Например, есть HAML — язык шаблонов для написания очень (очень!!!) короткого HTML.
Конечно, есть подобное — HAML for Django — но насколько я знаю, это не родное и там не полный функционал.
Например, писать подобное в шаблонах Django — выглядит странно.
{% for obj in my_list %}
.. {{ .. }}
{% endfor %}

Возникает много вопросов. Зачем сделали длинные скобки {% %} или {{ .. }}, когда можно было сделать одни скобки {} (как в движке Smarty for PHP), либо разрешить настраивать разработчику, или почему нужно так длинно писать для закрытия цикла endfor, когда в коде Питона все намного короче.

Но молодость Rails может быть и его минусом — т.к. многие вещи еще сырые и не аппробированы. Например, не так давно появилась многопоточность.

В целом же, если выбирать между языками Python or Ruby — тут уже больше вопрос вкуса и стиля.

Куда же пойдет развитие Ruby on Rails, особенно, когда спадет ажиотаж, — трудно сказать. Все будет зависеть от поддержки сообщества. Django — уже свое место занял.

Пока для меня — после Руби на другие языки смотреть уже не хочется.

про сравнение Python Vs Ruby можно почитать здесь:
c2.com/...ki?PythonVsRuby — сравнивают по многим пунктам

jeffdickey.info/...maintainability — про maintainability

Да, Руби делали с оглядкой на недостатки Smalltalk

fixed!

а еще руби полностью объектно ориентированный

8 лет — это молодой фреймворк? что еще расскажете?

да! 8 лет — это молодой фреймворк. и многие вещи там начали появляться относительно недавно — т.е. 1-2 года назад. посмотрите версии Rails и что там добавлялось. Как вы понимаете многих красивых плюшек там не было 8 лет назад.
и несмотря на N лет развития почему-то в рельсах еще не решены многие проблемы. Например, почему он такой тормознутый.

Но все познается в сравнении.

что еще расскажете?

к чему это хамство ?

В мире джавы есть скала:)))

Чисто ИМХО: Скала — это как руби, только хуже (по всем параметрам)

ниасилятор

Может быть.

P.S. Не так быстро. А то у «клуба сертифицированных ДОУ-троллей» пропадет элитарность. :)

Я не тролю, я совершенно искренен.

ого наброс! А по подробнее ?

ого наброс! А по подробнее ?

Не наброс, а ИМХО — никого не хочу переубеждать, смение сугубо субъективное (Чтобы подчеркнуть это и сказал «Чисто ИМХО»).

А подробнее, так скажите по каким параметрам скала превосходит руби? Может я чего-то не увидел, или «неасилил», как предположили выше.

по каким параметрам скала превосходит руби

Можно начать с статической типизации.

Можно начать с статической типизации.

«Статическая» вс «Динамическая» — это очень спорный (неоднозначный) момент и сильно зависит от задач.

Если задача большая, то есть правильный язык (джава). Если не большая, то зачем надо статическая типизация.

Ну раз ты так просишь, побуду К.О.

Плюс динамической типизации перед какой нибудь джавой в том что меньше кнопать надо. Но при выведении типов(например как в скале) кнопать нужно практически столько же, при этом сохраняя плюсы статической типизации — обнаружение ошибок в момент компиляции, производительность, хорошая многопоточность, плюшки IDE — autocompletion, refactoring, всякие автопереходы, поиск, подсветки и т.д.

Контекст:

«Не большая задача».

обнаружение ошибок в момент компиляции

Не столько ошибок логики, сколько «завтыков». Для контекста, не очень актуально.

производительность

Там где надо производительность, надо использовать правильный язык. Вы это сами не так давно показывали.

хорошая многопоточность

Как правило мотивом для написания многопоточных приложений является «производительность».

плюшки IDE

Проблемы этих самих ИДЕ.

Про ИДЕ интересное наблюдение: для не больших проектов, ИДЕ только мешают — код написанный в ВИМе куда проще и не требует фишечек ИДЕ.

Контекст:

«Не большая задача».

Ты о скольких строках кода говоришь?

Ты о скольких строках кода говоришь?

26 метров со статикой.

Не считал. На глаз: 50-100 классов.

Предположим. Тебе 50-100 классов легче набирать в виме? И почему конкретно производительность скалы не является плюсом в сравнении с руби?

Тебе 50-100 классов легче набирать в виме?

Руби-классов.

И почему конкретно производительность скалы не является плюсом в сравнении с руби?

А почему должна быть плюсом?

Руби-классов.

А чем руби классы принципиально отличаются от скала классов? Ну и на вопрос ответишь?

А почему должна быть плюсом?

Патамучта программы быстрее работают, твой КО

А чем руби классы принципиально отличаются от скала классов?

Ничем. Вот от джава-классов отличаютсо.

Ну и на вопрос ответишь?

Да.

Патамучта программы быстрее работают, твой КО

И все же:

А почему должна быть плюсом?

Есть понятие «приемлемо». Руби работает с приемлемой скоростью. У руби быстрее старт (компиляция скала — это известная история)

Ну и на вопрос ответишь?

Да.

Не томи, имя сестра имя!

Есть понятие «приемлемо». Руби работает с приемлемой скоростью.

Приемлемо для конвертилки из resultset в html, поэтому он и ограничен этой нишей. Скала же благодаря производительности более универсальна и имеет больше сфер приминения.

компиляция скала — это известная история

Известная для «не читал но осуждаю». В sbt с его incremental compilation и висящим в памяти компилером все вполне компилитцо за время пока я сохранаю файл в IDE алттабаюсь в браузер и давлю ф5

Приемлемо для конвертилки из resultset в html

Для остального есть джава.

висящим в памяти компилером

fsc у меня чаще падает чем работает

я сохранаю файл в IDE алттабаюсь в браузер и давлю ф5

А если не в браузере? Если это гуано-утилитка?

Ну и на вопрос ответишь?
Да.

Не томи, имя сестра имя!

Ну и где обещаный ответ? В дурачка играешь?

Для остального есть джава.

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

fsc у меня чаще падает чем работает

Это «не читал но осуждаю» карма в действии.

А если не в браузере? Если это гуано-утилитка?

А небольшие утилитки запускаются с помощью комнанды «scala» за пол секунды

НУ раз ты перескакиваешь с «по каким параметрам скала превосходит руби» на джаву

И почему конкретно производительность скалы не является плюсом в сравнении с руби?

Там где надо производительность, надо использовать правильный язык. Вы это сами не так давно показывали.

---

А небольшие утилитки запускаются с помощью комнанды «scala» за пол секунды

Почему-то далеко не за пол-секудны, может так же карма.

Ну или руки:

time scala tools/rpc/RpcAnalyzer.scala
real 0m0.380s
user 0m0.410s

sys 0m0.040s

println(1+2)
$ time scala test.scala 
3

real	0m1.694s
user	0m0.649s
sys	0m0.110s

puts 1+2
$ time ruby test.rb 
3

real	0m0.008s
user	0m0.003s
sys	0m0.003s
scala -version?
time scala test.scala

3

real 0m0.486s
user 0m0.220s

sys 0m0.070s

scala -version?

Рылли?

Да в общем-то пох, у руби по факту 0 секунд, у скалы 0.5-1,5. Но если хочетсо:

Scala code runner version 2.9.2 — Copyright 2002-2011, LAMP/EPFL

Ну а теперь сам подумай насколько критично ждать аж пол секунды.

критично ждать аж пол секунды.

По сравнению с 0 секунд, таки критично.

Ты эту прогу набрал, сохранил файл и запустил из командой строки за 0сек? Ну ты и фантазер.

Ты эту прогу набрал, сохранил файл и запустил из командой строки за 0сек?

Нет. Так кто из нас фатазер?

Ты — придумал что пол секунды что-то решают. Советую поиграть в шахматы — развивает логику.

Ты — придумал что пол секунды что-то решают.

0,5-1,5 секунды на запуск (а не на написание) скрипта — таки решают, и это не придумка.

Советую поиграть в шахматы — развивает логику.

В ответ, могу посоветовать научитсо читать и повторить мат. логику :)

0,5-1,5 секунды на запуск (а не на написание) скрипта — таки решают, и это не придумка.

В чем решают? Ты дольше заходишь в нужный каталог и набираешь команду запуска!

В ответ, могу посоветовать научитсо читать и повторить мат. логику :)

Ты шота напутал, я признаный гуру математической логики: dou.ua/...ic/5061/#161172

Ты дольше заходишь в нужный каталог и набираешь команду запуска!

Как много вы обо мне знаете. А вот скажите: Обязательно ли мне заходить в какой-то каталог? И что происходит по нажатию tab в командной строке?

я признаный гуру математической логики: dou.ua/...ic/5061/#161172

А самое главное, что вы скромный :)

А вот скажите: Обязательно ли мне заходить в какой-то каталог?

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

И что происходит по нажатию tab в командной строке?

У меня на убунте — ничего, только что проверял.

А, да, спустя пол минуты выдало: Display all 4295 possibilities? (y or n)

А самое главное, что вы скромный :)

Скромность/нескромность — это к инфантильным девочкам. Я стремлюсь к обьективности, и вообще то мат. логику я знаю .

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

Сказки какие. ДСЛ-и далеко не всем нужны, ну и апологеты скалы в клепании ДСЛ-ей помоему уже всех обогнали.

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

О, началось! А еще говорите, что не наброс :-)

Я, признаться, ничерта о руби не знаю. Только о груви (о котором говорят, что он сильно на сам руби похож). А говорить что скала это как груви, только хуже — тоже самое что говорить что жаваЕЕ стек, это тоже самое что нодеЖС, только хуже. Потому мне интересно чего там такого в руби, что скала вдруг — тоже самое, да еще и хуже =)

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

Но это все мои домыслы (жду помидоров от реалити_хакера).

А вы нам лучче раскажите чем руби лучче скалы ?

В принципе я бы не сказал что скала очень сложна — сложнее джавы но ненамного.

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

def ++[B >: (A, B), That](that: GenTraversableOnce[B])(implicit bf: CanBuildFrom[Map[A, B], B, That]): That 

Отличный метод отсекания джунов:)

От если бы еще все разработчики рождались сразу синьорами с 10+ годами ОР...

А что мешает самообразовыватся в стенфорд онлайн академи и на гит хабе ?

Офигенчик, не, ну это эпик вин:
Давайте сравним ruby и python — вот в django... а вот в rails...
И сравниваем шаблонизаторы :(
Отличный пример мышления ruby-боя (который испытывает баттхерт и абузит комменты)

Особенно работа с коллекциями в Java после Python это просто УЖАС !

А что конкретно ужас? То что их в джава в 10 раз больше на все случаи жизни?

В чистой яве с коллекциями может не самый компактный синтаксис, но простой и предсказуемый. При желании никто не мешает подключить либу со всякими хелперами.
Если совсем совсем хочется клёвой работы с коллекциями — добро пожаловать в Groovy
groovy.codehaus.org/Collections

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

Специально для тех кто не осилил Maven, повторяю:

При желании никто не мешает подключить либу со всякими хелперами.
Groovy хорош тем что по сути он просто диалект Явы, и выучивается за 15 минут. Поэтому тут проблемы нет вообще, опять таки — просто одна строчка в POM’e.

Автор груви сильно не согласен с данной формулировкой

Groovy хорош тем что по сути он просто диалект Явы

То есть по сути это

просто одна строчка в POM
есть прямое подтверждение «побольше языков хороших и разных» в одном приложении. То есть по сути, получаем write-only код для чтения/понимания/поддержки которого нужно знать все те языки/диалекты которые туда попали по милости разработчика? Увольте.
для тех кто не осилил Maven
Вы мне мавеном не тычте, я же не прошу от вас знания grunt или cabal например.

**блин, опять в интернете кто-то неправ...**

Автор груви сильно не согласен с данной формулировкой
О, ну насколько я слышал он вообще сам перешёл на Скалу :)
Тем не мене, Груви синтаксически стремится быть обратно совместимым с Явой — можно просто переименовать файл в *.groovy и он будет валидным. Т.е. ситуация похожа на Си и Си++.
На уровне концепций он добавляет динамическую и нестрогую типизацию, упрощённую работу с коллекциями, возможности функционального программирования, метапрограммирования и нестрогий синтаксис для создания DSL, несколько пакетов для работы для удобной работы с файлами, SQL и XML — как раз всё то за что все и любят Руби\Пайтон\Яваскрипты.

При этом это единственный язык программирования который можно использовать как строгую так и нестрогую типизацию и статически и динамическую комплияцию.
groovy.codehaus.org/...atic vs Dynamic

Подключать или нет его к проекту — дело команды. По своему и чужому опыту работы с ним могу утверждать что можно это делать смело, потому что 15 минут на его изучение реально не проблема.
groovy.codehaus.org/...ences from Java
habrahabr.ru/post/122127
Рекомендуемая область применения: юнит тесты, кастомные скрипты со своими DSLами. Всё остальное на крупных проектах стараются писать на строгой Яве-матушке.

Но, опять таки, почти всего того же можно добиться в Яве но с использованием библиотек типа Guava. Но если вы не осилили как её подключить, и из-за этого выбрали другой эзотерический язык то это наводит на некоторые размышления...
С другой стороны в один момент понимаешь что с таким же успехом можно писать на Си + Glib + GObject или libcello.
И тогда ты уже осознанно выбираешь самый эзотерический язык по душе.
Как правило такие талантливые но наивные люди и попадают в секту ПиРуби. Есть даже термин такой, «Парадокс Питона» stokito.wordpress.com/...python-paradox
Если вовремя не остановить болезнь то со временем начинаешь писать на Лиспе.

Холивор между Ruby и Python — лично для меня видится как потасовка между геями и лесбиянками. А тут ещё и яваскриптеры на инвалидных колясках туда лезут...
За этим надменно наблюдают скалисты-БДСМ’щики.

И проблема тут не в том что языки плохие, они действительно клёвенькие.
Питон хорошо продвинул структурное программирование и имеет очень читабельный синтаскис. Но ООП в нем притянуто за уши. Зато он как-то веселее интегрируется с сишными либами, поэтому его и любят Cononical и Google. Например помню драйвер для MySQL внутри содержал тупо so и dll для коннекта (sic!).

Руби крут чёткой философией но вобрал в себя отвратительный перловый синтаксис.

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

Руби стал известным благодаря RoR и gem, и фактически не используется вне него (ну разве что Puppet и Chef).
Кстати Grails (Groovy on Rails) во многих аспектах круче RoR, ну разве что кроме популярности.

Хотите один язык программирования на проекте? Пожалуйста — берите Fantom, ну или ту же Яву + GWT.
Но всё таки важней не сам язык а платформа. Если вы опытный программист и новый синтаксис для вас выучить не проблема, главное чтобы API либ было таким же. В этом плане однозначно рулит .NET но вот теперь и на JVM все портировались.

Сейчас ВСЕ языки программирования принципиально гавно по одной простой причине: исходный код хранится в виде текстовых файлов. Это так же глупо как писать на перфокартах.

Поэтому и идут постоянные холиворы из-за синтаксиса. И кстати динамические языки только благодаря более сжатому синтаксису и держатся на плаву. В реальности динамика особо не нужна, как правило достаточно просто рефлексии. Если уберёте из них дуализм хешмап-объект то сразу станет совсем грустно.

Вместо того чтобы переложить всё на плечи IDE мы продолжаем изобретать всё более изощрённые синтаксисы и потом мучатся с их обратной совместимостью и сложностью. И вот благодаря тому что Ява строго типизирована, избегает неопределённостей и стремится иметь минимальный синтаксис у неё сейчас и самая лучшая поддержка IDE — IntelliJ Idea от JetBrains.
И даже недостатки скрывает, например гетеры\сетеры генерятся а потом фолдятся.
И то, сама компания JetBrains принялись писать свой Kotlin спроектированный для ещё более лучшей поддержки IDE. Они сами любят Скалу но для неё они всё никак на могут запилить полноценную поддержку синтаксиса, вот и решили сделать своё казино.
Но опять таки, это будет по прежнему язык прошлого поколения потому что от фундаментальной проблемы исходного кода программы в виде синтаксиса они так и не пытаются избавится.

Т.е. есть несколько параметров по которым можно сравнивать языки программирования (именно как языки, а не платформы):
1 Набор базовых аксиом. Есть языки которые походи на китайский — куча иероглифов, а есть там где есть базовые буквы которые из которых делают слова, и даже самый кочанный даун сможет их потом прочесть. Но получается больше текста, да. С другой стороны доводить набор букв до 1\0 тоже бессмысленно.
2. Читабельность
3. Параметр это синтаксический сахар для часто повторяющихся примитивных вещей.
4. Возможность выстрелить в ногу.
5. Магия

Теперь давай сравним.
Си
1. Минимальный базовый набор аксиом: В Си всё просто: вот функции, вот структуры, вот указатели, в атаку!
2. Читабельность: в Си она низкая i++, j—, for (;;) но сильно выручает что набор минимален.
3. Синтаксический сахар: квадратные скобочки [] для массивов (можно обойтись указателем) и строковые литералы.
4. В ногу вы просто стреляете: выходите за рамки буферов, забываете подчистить память, в результате имеете настоящий Segmentation fault.
5. Как это не удивительно без магии в Си не сделать ни шагу. Магия в Си — это директивы прекомпилятора. На них делается всё: инклдюды, константы, DSL’ы.

Си ++
1. Тут уже появляются объекты, но с ними ещё куча свистелок и перделок, типа переопределения операторов.
2. Читабельность почти никакая. Спасает только Си-подобный синтаксис.
4. Стреляем в ногу из пулемёта. Классика жанра — множественное наследование.
5. Магия достигается через шаблоны.

Ява
1. Тут просто взяли Си++ и убрали всё лишнее. В результате всё просто: вот класс, вот методы, создаёшь объект и дергаешь методы, если что-то пошло не так кидаешь исключение, «шо не йасно?».
Но всё равно перестарались: вложенные классы, статические методы, примитивные типы. Когда начинаешь готовится к сертификации OSCJP внезапно понимаешь что Явы не знаешь.
2. Синтаксис вполне уже читабельный, если не обращать внимание на реликты после Си. По сути lingva franca из-за чего её любят использовать в учебниках.
3. В ногу стрельнуть довольно сложно. Разве что Out of memory или Null pointer exception.
4. Магия постигается с помощью аннотаций, которые вообще то не должны влиять на программу. Но по факту по следам аннотаций потом курочат байт код до неузнаваемости.

Си шарп
1. Взяли яву и натащили всего нужного и ненужного в целях маркетинга. Чем структуры отличаются от классов? Зачем нужен yeld? Опять переопределение операторов и прочий зоопарк из C++, но уже с уборщиком мусора.
2. Читабельность нормальная. Ну примерно как у Делфи (создатель один и тот же).
4. Для магии всегда придумывают целые технологии, типа LINQ.

Пайтон
1. Большой набор базовых принципов.
2. Читабельность хорошая, но только если знаешь все базовые принципы.
4. Магия достигается использованием сишных либ.
Пайтон тупо рабочая лошадка, как и дельфи например.

Перл
2. Перл получился в процессе эволюции текстового редактора. И бесспорно имеет самый ужасный write-only синтаксис. Регулярные выражения как раз пришли из перла, что о многом говорит. Мне кажется создатели Brainfuck просто немного упростили Perl.
4. Магия перла в том что одной строчкой можно переколбасить весь текст в документе.

Руби
По сути — объектно-ориентированный Перл.
1. Синтаксис настолько засахаренный что можно получить диабет.
2. Читабельность как у перла, но выручает единообразие — главное понять концепцию.
4. Магия достигается с помощью метапрограммирования поверх динамизма.
Всё что в книжках по яве написано «так делать нельзя» в руби пишут «смотрите, можно даже так сделать!».

Ada
Аду создавали в рамках конкурса. Т.е. изначально попросили академиков придумать самый крутой язык программирования. За что боролись на то и напоролись.
1. Базовый набор огромен. До появляения Scala это был самый богатый язык программирования.
2. При этом великолепный читабельный паскальный синтаксис.
4. Магии практически нет — всё итак уже в языке.

Я не просто так упомянул Аду, почитайте её критику:
Хоар выразил своё сожаление тем, что «погремушки и побрякушки возобладали над фундаментальными требованиями надёжности и безопасности» и предостерёг от «армады ракет, летящих не туда из-за не обнаруженной вовремя ошибки в компиляторе Ады». Никлаус Вирт высказался более сдержанно, но тоже негативно. Он сказал: «Слишком много всего вываливается на программиста. Я не думаю, что, изучив треть Ады, можно нормально работать. Если вы не освоите всех деталей языка, то в дальнейшем можете споткнуться на них, и это приведёт к неприятным последствиям». Жан Ишбиа, руководитель группы разработчиков Ады, выразив своё «уважение и восхищение» Виртом, не согласился с ним, сказав: «Вирт верит в простые решения сложных проблем. Я не верю в такие чудеса. Сложные проблемы требуют сложных решений».

Scala
А вот Cкала по сути та же Ada, только поверх JVM.
Точно так же как и Аду её придумали искусственно в «лаборатории по созданию языков программирования» что уже должно настораживать.
Соответственно всяких умников с «математическим складом ума» она доводит до оргазма.
Нормальным инженерам становится страшно когда они представляют как поддерживать проект на Скале: ru.xored.com/...12/12/02/scala

Короче, пишите всё на яве и не выдрючивайтесь, после вас ещё другим людям всё десять раз переписывать.
Это не единственная причина, вообще их много
stokito.wordpress.com/...ым-студентам-у
А там где она ну вот совсем не проходит просто докинете груви скриптец.

Всё остальное уже отхоливорено и записано в Лурку
lurkmore.to/...ить_себе_в_ногу

lurkmore.to/...рограммирования

боже, какая каша...
Сестра ! срочно укол этому джентльмену !

насколько я слышал он вообще сам перешёл на Скалу
То есть сам признал несостоятельность своего детища. Для сравнения PyPy — реализация python на самом python (а точнее его stackless версии rpython с JIT ) вполне себе заслужено пользуется успехом у высоколобых и там недавно подтягивают NumPy. «Рабочая лошадка по типу Делфи»? (:
Читабельность хорошая, но только если знаешь все базовые принципы
Наверное именно поэтому его часто рекомендуют как первый язык. И я тут наверное немного не в курсе, но о каких всех базовых принципах вы тут толкуете? Я похоже чего-то не улавливаю.
несколько пакетов для работы для удобной работы с файлами, SQL и XML
рубипайтоняваскрипты не любят xml
IntelliJ Idea от JetBrains
а так же pycharm и rubymine, причем динамическая природа языков не мешает IDE быть более полноценной, чем pydev (eclipse), например. Или то, что пытались дать в netbeans; (: Здается мне тут жаба не при чем, скорее стоит снять шляпу перед ребятами в jetbrains.
За этим надменно наблюдают скалисты-БДСМ’щики
Согласно этой аналогии groovy-devs это жертвы аборта? (:
То есть сам признал несостоятельность своего детища.
Ну во первых, не факт (я где-то краем уха слышал).
Во вторых, Вирт признал несостоятельность Паскаля, а он жив и сегодня.
а так же pycharm и rubymine, причем динамическая природа языков не мешает IDE быть более полноценной, чем pydev (eclipse), например.
Ты так говоришь как будто их никогда не открывал. А если и открывал то использовал просто как разноцветный блокнот.
рубипайтоняваскрипты не любят xml
И по сути только за счёт этого и выживают. Хочешь конфиг подправить в Chef — хрен там, выучи Ruby.
Согласно этой аналогии groovy-devs это жертвы аборта?
Если ты внимательно прочёл то понял бы что Groovy Devs == Java Devs, которые ну вот точно не жертвы абортов.

Вирт то жив, а вот ада с паскалем — не ахти как себя чувствуют.

использовал просто как разноцветный блокнот.
ты так говоришь, как будто в этом есть что-то плохое
Хочешь конфиг подправить в Chef — хрен там, выучи Ruby
По твоим словам руби-бои дружно взяли и обосрались со своими утверждениями о «выразительности» и «простоте понимания» руби?
И по сути только за счёт этого и выживают.
Суровые чуваки из rackspace смотрят на это высказывание с недоумением
Вирт то жив, а вот ада с паскалем — не ахти как себя чувствуют.
ты не поверишь, но Ада и Паскаль живут и здравствуют
Более того, я всегда гооврил и буду говорить что каждый професиональный девелопер просто обязан их изучить.
Седьмой Делфи, даже тринадцатилетней давности, спокойно даёт форы всем рупитонявам.
ты так говоришь, как будто в этом есть что-то плохое
lurkmore.to/...о_что-то_плохое
блин, ну если взялся тролить то прояви хоть капельку креатива
По твоим словам руби-бои дружно взяли и обосрались со своими утверждениями о «выразительности» и «простоте понимания» руби?
Да, выразительность и простота их понимания это миф возведённый в религию.
Но тут дело даже не в этом, а в том что джавистам хватает мозгов делать хоть немного универсальный софт. И мы спокойно относимся к усмешкам над нами, типа этой twitter.com/...250842809896960
Потому что всеобщий стандарт XML позволяет всем желающим работать вместе, а не выпендривается своими «восхитительными» DSL’ами.
Суровые чуваки из rackspace смотрят на это высказывание с недоумением
Во первых я не сразу даже вспомнил кто это, а во вторых причём тут они вообще?
каждый професиональный девелопер просто обязан их изучить.
То есть старт на С, с плавным переходом в ++ и т. д. делает человека полным профаном? (:
Давайте еще допишем сюда assembler, иначе как вы можете без него понимать, чой то за инструкции там у вас выполняются.
А часто ли вы читаете IL того добра, что накодили под шумок дедлайна?
всеобщий стандарт XML позволяет всем желающим работать вместе
Поэтому только ленивый не попытался изобрести свой велосипед дабы уйти от XML? Товарищи из MS придумали даже комилить это дело в бинарный вид, наверное сугубо для удобства взаимодействия.
Седьмой Делфи, даже тринадцатилетней давности, спокойно даёт форы всем рупитонявам.
Стоп-стоп, я тут что-то упустил, но в каком месте он это делает? Даёт фору по непопулярности или по количеству стартовавших за последние 4-5 лет проектов? Поддержке «нормальных» ОС или современных подходов в разработке?
То есть старт на С, с плавным переходом в ++ и т. д. делает человека полным профаном
Полным профаном — нет. Но из известных на сегодня языков только в Делфи удачно реализована компонентная разработка. А это как ни крути всё таки будущее программирования.
Даже в яве уныло попытались притащить за уши эту концепцию (читай про java beans), но потом забили. Собственно поэтому в ней так много XML’а и property файлов — в Делфи работа со свойствами и их сериализацией заложена из коробки.
Товарищи из MS придумали даже компилить это дело в бинарный вид,
Я совсем не понял о чём ты, но знай что товарищи их M$ активно участвовали во всех стандартизациях XML’а.
Даёт фору по непопулярности или по количеству стартовавших за последние 4-5 лет проектов?
Даёт фору по скорости разработки. То что в своё время они вылетели из рынка из-за неправильного маркетинга ещё не говорит что они были в чём то худшими.
Тем не менее Делфи жив, и неплохо развивается.
Ради интереса глянь на последние версии, ты будешь приятно удивлён.
Поддержке «нормальных» ОС
www.embarcadero.com/...ios-development сходи по ссылке и прозрей
Даже в яве уныло попытались притащить за уши эту концепцию
То-то я смотрю, что эта концепция и в других технологиях стала эдаким «silver bullet». :)
работа со свойствами и их сериализацией заложена из коробки
Это так вы описываете кучу автогенерируемого кода? Отличный способ сериализации, чо.
Даёт фору по скорости разработки
Разработки чего? Тру-интерфейсов с миллионом кнопок/полей? Спору нет, это реальный вин и отличительная черта делфи-based приложений.
из-за неправильного маркетинга
То есть динамическая братия так плотно продвинулась исключительно из-за грамотного маркетинга? (:
Или .net платформу впаривали на каждом углу? Помнится мне, во времена становления .net 3.5 rad studio с горем пополам поддерживала .net 1.0 и знать не хотело о x64 архитектуре

А под «нормальными» я подразумевал пригодные для запуска backend компонент. Что-то я не видел поддержки со стороны RHEL или Oracle этого добра

То-то я смотрю, что эта концепция и в других технологиях стала эдаким «silver bullet».
это в каких ещё?
Это так вы описываете кучу автогенерируемого кода? Отличный способ сериализации, чо.
Нет, я о другом. Читай про TPersistent
Разработки чего?
Тру-интерфейсов с миллионом кнопок/полей?
Сразу видно что ты дальше университетской программы не заходил.
Во первых компоненты могут быть не визуальными например Indy или dbExpress.
Всех их ты можешь размещать на невидимом TDataModule и соединять между собой.
И все проперти можно конфигурить в проперти эдиторах через универсальный ObjectInspector.
Вин настолько огромен что полноценный АРМ можно собрать за несколько часов. При этом из реально кода будут только обработчики событий интерфейса.
Компоненты это прекрассная парадигма и поработав с ними на практике очень не захочется с ними расставаться.
То есть динамическая братия так плотно продвинулась исключительно из-за грамотного маркетинга?
Да. Они бесплатны, открыты и кое как проссплатформенны. И не вылетали в трубу на несколько лет.
А Руби не имел бы даже процента от своей однопроцентной популярности если бы не 37signals.
Или .net платформу впаривали на каждом углу?
Впаривали и впаривают, причём очень агрессивно.
. Что-то я не видел поддержки со стороны RHEL или Oracle этого добра
Ты удивишься, но со стороны RHEL и Oracle только Ява и поддерживается.
дальше университетской программы не заходил.
Заходил в компании, где работали «изделия» матёрых делфицев, тащащие всю бизнес-логику на клиенте и слыхом не слышавшие о многопоточности.
размещать на невидимом TDataModule и соединять между собой
В чем тогда заключается процесс разработки? Клацанье мышкой и таскание компонентов со связями?
Это наверное круто, если можно вложить 100500 денег в инструменты и выкопать из могилы спецов тех лет.
Запустить прототип, нарастить вокруг продукт и начать монетизацию мне этот подход не сильно поможет, если я не удовлетворю предыдущие пункты.

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

Насчет всего остального — чем python package, ruby gem, jar тогда отличается от делфийского компонента? Собрал пакетным менеджером зависимости, увязал 10ю строчками кода (сотней страниц XML) и войла — оно пырится и хрюкотит

Заходил в компании, где работали «изделия» матёрых делфицев, тащащие всю бизнес-логику на клиенте и слыхом не слышавшие о многопоточности.
...и ведь работает! и ведь все счастливы!
В чем тогда заключается процесс разработки? Клацанье мышкой и таскание компонентов со связями?
да, и в идеале таким и должен быть. см выше
37 сигналов на старте интереса к рельсам — 7 человек,
Маркетинг же! Статьи, мода, удачный момент со стартап движением которому нужен был гибкий инструмент для быстрой накидки хоть чего-то работающего.
В то время это был действительно прорыв.
Но реально остальное мода, не даром такие мнения сформировлаись dou.ua/...-comment#236491

Кстати в том же Grails четыре человка что не мешает им делать фремворк круче RoR.

Насчет всего остального — чем python package, ruby gem, jar тогда отличается от делфийского компонента?
Если искать аналогию то пакетам и джарникам соответсвуют делфийские dpk (bpl), а не компоненты.
Компонент — это специально спроектированный класс, и к пакетам никакого отношения не имеют.
специально спроектированный класс, и к пакетам никакого отношения не имеют
Пакеты содержат наборы специально спроектированных классов, нет?
все счастливы
Были бы счастливы — ноги моей там не было
в идеале таким и должен быть
Это не разработка, это консьюмери, потребление. То же самое наблюдается и в областях других технологий, как бы я веду речь о проблемах тех, кто занимается разработкой «сырья»
Пакеты содержат наборы специально спроектированных классов, нет?
Да.
Часть из этих классов могут быть компонентами.
Были бы счастливы — ноги моей там не было
Но с помощью Руби и Пайтона ты их осчастливил
Это не разработка, это консьюмери, потребление.
О как! Да вы батенька антикосьюмерист!
Тогда выкинь RoR и вообще всё.
Паяй комьютер, пиши на ассемблере.
Будь Труъ!
Тогда выкинь RoR и вообще всё.
Паяй комьютер, пиши на ассемблере.
Будь Труъ!
Юношеский максимализм детектед

во во, и зачем говорить такие глупости?

Этот комментарий должен быть в каждой теме всех форумов...

а что лучше взять молоток и вообразить что вокруг одни гвозди?

а что лучше взять молоток и вообразить что вокруг одни гвозди?
Передёргивание детектед.
Ты в своём проекте на своём питоне часто используешь другие языки?
Мы не говорим о вебе и его клиентской части, где всякий ЖС или нюансы развертывания где и шелл-скриптом подпереть приходится.
Мы за бэкенд-онли, с бизнес-логикой и бизнес-отсутствием логики. Расскажи мне историю как в питономешалку руби или там скалу подсовывал?
И я не про native-либы, которые для разгона питоновского сарая пацаны на Цэ фигачат, оно какбе логичне, ЦэПихон же АПИ даёт для такого, да и сам на Цэ запилен.

я так понимаю ты ждёшь какой-то определённый пример, который только тебя и устроит ? ну и кто здесь передёргивает ? :)

можешь дать любой вменяемый, который устроил бы большинство

лучше взять молоток
Молотком можно не только гвозди забивать, какбе

А ещё и убивать людей и животных !

Підписатись на коментарі