LINUX.ORG.RU

Создатель Python разочарован в Scala

 , ,


2

0

Гвидо ван Россум, создатель Python, в своем блоге делится впечатлениями от изучения языка Scala: "К сожалению, я полностью разочарован в этом языке". Причиной является слишком сложная система типов Scala: "Если такая система необходима для корректной обработки разных типов данных во время компиляции, я однозначно предпочту динамическую типизацию".

>>> пост

anonymous

Проверено: maxcom ()

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

>> На ниве народного просвещения трудитесь? ;) Или что-то конструкторское?

> Visual Effects ;)

Это скорее всего можно назвать исключением из правил, подтверждающим оные. :)

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

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

What is Enterprise? Зачем делить на черное и белое - хомяки и программы для ядерных рассчетов? А между ними ничего, зияющая пропасть? Посмотрите, к примеру, что такое Optical Flow, который широко применяется в CG. Вполне себе математическая задача. Да и вообще, в CG, Multimedia и т.д. много разной математики.

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

>Не только. Он упоминает еще и громоздкость самого языка - огромное количество правил для написания прямо (приятно/понятно?) выглядящего кода, но не менее огромное количество исключений для этих правил.

В рассылке скалы по этому поводу дискуссия одной из основных мыслей которого такая что Гвидо написал этот пост на основании того что пролистал книгу - надо бы ее все же ему попробовать прочитать.

> далее приводит пример с множественными условиями внутри for, которые должны оформляться различно, в зависимости от того, были ли использованы круглые "(" или изогнутые "{" скобки,


...the example he brings is nothing of the sort. Scala infers
semicolons between braces but not between parens. That's a simple
rule, and the for expressions he mentioned are no exception to it.

(C) Martin Odersky

>All this is presented without any explanation.


It's also not fair to complain that this is presented without much
explanation if he was just skimming the book. The explanation was
given before, but Guide obviously did not read it.

Of course, an alternative would be to do as in python: Every line end is a statement end, and there are no anonymous functions extending over more than one line. Would people prefer that?

(C) Martin Odersky

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

:) Ну а вы думали, что раз графика, то сплошняком тригонометрия? ;) Вычисления занимают меньшую часть кода. Основное - UI + описание модели + контроллер. Заурядный MVC паттерн.

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

>Пока вы будете бороться с компилятором, питонщики уже сдадут проект и пропьют деньги.

Потом их найдут и отберут деньги - потому что оно падать начнет в рантайме:)

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

> :) Ну а вы думали, что раз графика, то сплошняком тригонометрия? ;) Вычисления занимают меньшую часть кода. Основное - UI + описание модели + контроллер. Заурядный MVC паттерн.

Я плакалъ. UI вообще не обязателен. Зачастую его нет, есть только консольная тулза :) А кроме тригонометрии, векторной алгебры, аналитической геометрии, конечно же, есть физика (механика жидкостей и газов), теоретическая механика, оптика и черт знает что еще. Богатое поле.

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

>AppEngine полностью написан на педоне, если не изменяет память, то Гвидо сейчас там как раз и работает.

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

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

Это тот чудак который хвалит себя за то что пишет книги как веревки вить из с++? Если у него процесс мышления тесно связан с С++ то.....

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

Ошибки в Анаконде были, есть и будут :) PackageKit завалить базу rpm не может. База rpm 4.6 может завалиться, потому что rpm 4.6 сырой. На счёт статической типизации, как серебрянной пули: могу дать ссылку, как у человека синтаксическая ошибка в плюсовом шаблоне вылезла в рантайме.

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

> Ага, Черч, Тьюринг и фон Нейман - так, шелупонь мелкая (при всем уважении к Хомскому).

Пгачему ви таки не говогите о Маккартни? :)

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

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

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

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

> Пгачему ви таки не говогите о Маккартни? :)

Ну давайте поговорим, есть у него и неплохие композиции :)

Paul McCartney

John McCarthy

Почувствуй разницу, как говорится :)

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

> Пгачему ви таки не говогите о Маккартни? :)

Я равнодушен к "Битлз".

И вообще Грейс Хоппер рулит, мир ее праху %)

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

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

Если в вашем коллективе не налажен процесс тестирования, то вам ни хаскелль, ни скала не помогут. Строго типизированный на этапе компиляции софт будет строго глючным в рантайме. Юзеру, по сути, не важно что софт при смерти выдаёт: сообщение segmentation fault или питоновский бэктрейс.

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

>Зачем делить на черное и белое

Да никто не делит :) Просто объем кадров в специализированных областях программирования крайне мал. А основные работодатели в IT отрасли отнюдь не задачи для навороченного матаппарата. Это единственное что я хочу подчеркнуть.

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

> Потом их найдут и отберут деньги - потому что оно падать начнет в рантайме:)

Ой, а у вас КДЕ упало!

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

>Ой, а у вас КДЕ упало!

Где? *оглядываюсь вокруг себя и смотрю под ноги*

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

>Я плакалъ. UI вообще не обязателен.

хм... если мосье удосужиться просмотреть тред, то он обнаружит, что речь шла про векторный редактор sK1. Можно конечно постскрипт файлы просто в емаксе набивать, но вот почему-то это не прижилось в практике ;)

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

>Как будто Ява в рантайме не падает %)

Ява в рантайме показывает стектрейсы - пора бы это знать:)

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

> Да никто не делит :) Просто объем кадров в специализированных областях программирования крайне мал. А основные работодатели в IT отрасли отнюдь не задачи для навороченного матаппарата. Это единственное что я хочу подчеркнуть.

С этим соглашусь.

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

>Можно конечно постскрипт файлы просто в емаксе набивать, но вот почему-то это не прижилось в практике ;)

Я! Я набивал постскипт файлы руками!

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

> Почувствуй разницу, как говорится :)

Так Рабинович по телефону неправильно напел :)

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

>Я! Я набивал постскипт файлы руками!

Зачот :) Осталось теперь всем десигнерам объяснить что Иллюстратор, Корел и т.п. - это ацтой, а емакс - это для настоящих мужыгов ;)

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

>>Как будто Ява в рантайме не падает %)

>Ява в рантайме показывает стектрейсы - пора бы это знать:)

Ахпростите, не знал, что теперь это так называется :D

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

>Как будто Ява в рантайме не падает %)

Ну, в Яве только совсем-совсем начинающие пионеры не обрабатывают исключения :) При чём во многих случаях код без обработки оных даже компилятор просто не соберёт.

Поэтом, после практики на Java меня бесит, когда популярные приложения на том же Си++ молча сегфолтятся :)

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

>>Как будто Ява в рантайме не падает %)

>Ну, в Яве только совсем-совсем начинающие пионеры не обрабатывают исключения :)

Ровно то же самое можно сказать про Питон :) Да и обработка исключений может состоять из printStackTrace() (это насчет того, что собирается компилятором).

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

>>>Как будто Ява в рантайме не падает %)

>>Ява в рантайме показывает стектрейсы - пора бы это знать:)

>Ахпростите, не знал, что теперь это так называется :D

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

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

> На 100% согласен с Гвидо. Статическая типизация - инструмент создания лишних сложностей, за что и любима всякими плюсофагами кторые любят не решать задачи, а обороняться от несуществующих проблем.

Ну, тогда решай свои задачи горами тестов и часами отладки.

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

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

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

Они не молча сегфолтятся, они формируют отладочный файл :)

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

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

Не вижу связи.

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

> тогда решай свои задачи горами тестов и часами отладки.

А статическим языкам ВНЕЗАПНО не нужны тесты и отладка? O_o

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

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

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

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

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

P.S. ненавижу динамические языки, но использую Питон. Добровольно %)

tailgunner ★★★★★
()

Ах какой толстый и вкусный тред!

Добавлю немножко.

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

Есть ли среди вас те, кто вернулся? А вернувшись не бился бы в этой войне с плюсофагами?

Это я к тому, что все доводы в этом треде о пользе статической типизации, по всей видимости сделаны "из танка".

Ну! Кормите меня ;)

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

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

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

> Проработав на языке со статической типизацией годы, уйти волею случая (жизнь заставила), и поработать на языке с динамической типизацией пару лет?

Проработал на Си/Си++ 10+ лет, потом стал параллельно с ними работать на Питоне, лет 6 уже так.

> Есть ли среди вас те, кто вернулся?

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

> Кормите меня ;)

Кушай :D

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

>>valich
>>Уважаемые, кто-нибудь из вас пробовал самолично. Проработав на языке
>>со статической типизацией годы, уйти волею случая (жизнь заставила),
>>и поработать на языке с динамической типизацией пару лет?
не пару лет, но вот пару месяцев

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

>>Ну! Кормите меня ;)
в очередь. и без тебя всем не хватает

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

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

Вы думаете, что питон не проверяет синтаксис? o_O

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

> но вот пару месяцев

Мастер! Уже имеешь право глаголить истину в последней инстанции. Букварь-то основной по языку уже прочитал?

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

> Покажи мне статический язык, обладающий _одновременно_ мошью и простотой Питона.

Qi? Да, скобки, но пробелы тоже не всем нравятся :)

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

>> Покажи мне статический язык, обладающий _одновременно_ мошью и простотой Питона.

> Qi?

"Лиспер ты, боцман, и шутки у тебя лисперские" почти (c) %)

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

Ну так какую букву здесь не проверит? :)

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