LINUX.ORG.RU

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

 , ,


2

0

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

>>> пост

anonymous

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

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

> Можете реально привести примеры, где нужна Д.Т. а не ДСЛ?

Я, к сожалению, не вижу противопоставления. Питон в некоторых областях, возможно, даже совпадает с DSL. :)

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

> Да. Все сплошь со строгой статической типизацией)

Щастливый.

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

ДСЛ - это когда в язык заложено то, с чем он работает. Благодаря чему, в частности, возможна валидация на этапе процессинга.

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

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

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

> Благодаря чему, в частности, возможна валидация на этапе процессинга.

Да совершенно не обязательно эта валидация возможна. Примеры: unix shell как DSL, языки описания сценариев игр (для небанальных случаев проще взять питон, что и делается).

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

> Потому что в большинсте своём там есть чёткая, статическая структура.

s/в большинстве/в тривиальных случаях/

Структура, кстати, чего? Данных?

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

Почему в unix shell невозможна валидация? почему там нету стат. типизации? И почему языки сценариев не типизованы? это лишь от того, что быстро и качественно ДСЛ делать умеют пока далеко не все.

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

> Потому что в большинсте своём там есть чёткая, статическая структура.

То есть ты утверждаешь, что четкая статическая структура есть не всегда? O_O ПРЕДАТЕЛЬ!!!!11111

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

Да. Именно данных. Нужна хорошая декларативная система.

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

> это лишь от того, что быстро и качественно ДСЛ делать умеют пока далеко не все.

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

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

Не всегда в том смысле, что иногада колличество исключений и деталей интереснее, содержательнее и|или объёмнее правил.

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

> То есть ты утверждаешь, что четкая статическая структура есть не всегда? O_O ПРЕДАТЕЛЬ!!!!11111

Да её вообще нет за пределами вычислительной непрерывщины. Вся беда в том, что банальные множества -- нетипизированы.

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

А зачем? я на шелле не пишу. Когда понадобитьтся - напишу. у баша ИМХО главное преимущество - переносимость. вроде всё :)

theos ★★★
()

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

Кто бы сомневался. Любой быдлокодер "разочаровывается" в языке, если это не C++/Java/Python

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

"нетипизированные" и "струтура" вещи разные. и что значт "банальные множества -- нетипизированы."? Что когда я говорю "множество", я не говорю чего? это как раз тут не причём.

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

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

Вывод: все питонщики - алкаши, не более того.

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

> Кто бы сомневался. Любой быдлокодер "разочаровывается" в языке, если это не C++/Java/Python

Ещё один идиот, уверенный, что Ван Россум только Питон знает.

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

>Scala называют следующей Java, языком идущим на смену Java в JVM

"Следующей Java" называют Erlang, идущим на смену и Java, и JVM

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

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

> Вывод: все питонщики - алкаши, не более того.

Если много работать и не бухать, то можно тронуться умом и начать писать на хаскелле.

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

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

Ну, не все же, как ты, считают быдлокодерство вершиной своей карьеры (и своих интересов)

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

>Были бы вы постарше молодой человек, то не высказывались бы столь резво и однозначно.

Как умиляют эти старые пердуны-гуманитарии с "тройкой" по школьной математике!:)

Led ★★★☆☆
()

Ну, как известно, на вкус и цвет и всё такое.. Хотя да, не то, чтобы слишком, но некоторая избыточность имеет место быть..

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

>> "Следующей Java" называют Erlang

>Кто его так называет, лично Армстронг?

Нет. Ему пофиг. У него нет и не было цели "завоевать мир", как у некоторых:)

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

>>Scala называют следующей Java, языком идущим на смену Java в JVM

>"Следующей Java" называют Erlang, идущим на смену и Java, и JVM


Они, как бы, не очень похожи..

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

>>"Следующей Java" называют Erlang, идущим на смену и Java, и JVM

>Они, как бы, не очень похожи..

А должны? Это и хорошо, что непохожи: у Erlang VM - это не говённая JVM. И синтакис может быть любой - это изначально заложено.

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

>>> "Следующей Java" называют Erlang

>> Кто его так называет, лично Армстронг?

> Нет. Ему пофиг.

Тогда кто называет Erlang "следующей Явой"? Которая к тому же сменит не только Яву, но и всю JVM.

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

Что когда я говорю "множество", я не говорю чего?

Говорите, но кто сказал что это "чего" соответствует статическому типу данных? К примеру, откуда взялись union в С -- ведь они ни чёрта не статические по сути?

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

>Тогда кто называет Erlang "следующей Явой"?

http://www.cincomsmalltalk.com/userblogs/ralph/blogView?showComments=true&...

Кстати, я не собираюсь об этом дискутировать:) Я сказал лишь то, что сказал, не более: '"Следующей Java" называют Erlang'

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

>А должны? Это и хорошо, что непохожи: у Erlang VM - это не говённая JVM. И синтакис может быть любой - это изначально заложено.

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

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

> Если много работать и не бухать, то можно тронуться умом и начать писать на хаскелле.

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

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

Так union это костыль. Либо для добства доступа к низкоуровнему представлению(что не противоричит статической ессно структурности) либо костыль к эффективной полиморфности структуры. Можете привести _нормальный_ пример где действительно нужны union?

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

>Однако, во всяком случае, на данный момент, они, как бы, не являются конкурентами..

Пока - не являются. Но на серверах Java (по крайней мере, в моей практике) в новых проектах вытесняется уже (причём, с треском пролетает ещё на этапе выбора инструмента). Конкурентов у Java пока что нет только на мобилках

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

В union нет информации о том, какой из вариантов заполнения выбран и это нужно добавлять руками.

Если бы он был, то простейший пример -- пусть у нас либо есть введённое целое число, либо оно ещё не введено, то есть есть значение из объединения множества N и множества еще из какого-то выделенного элемента. У указателей есть неверное значение NULL, а чем хуже числа?

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

Ок. А теперь покажи как это на юнионе. Код в студию, и почему он хуже того же структа. где ты собрался хранить этот самы presence bit?

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

Кстати. Здесь это очевидный костыль к тому, что в сях нету нормального отношения 0..1 (как и вообще чего-то сильно выше асма) так что в любом случае мимо кассы ;)

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

> В хасскле не юнионы всё такие)

Если ты понял Сишный union как "несколько объектов разного типа, хранящихся в одном месте памяти", то ты понял их неправильно. union - это variant record без дискриминанта, ее корни вообще в Algol 68.

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

>Scala называют следующей Java, языком идущим на смену Java в JVM

не стать скале следующией java в первую очередь из-за сложности. Вот groovy вторым языком может стать, это да.

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

>Пока - не являются. Но на серверах Java (по крайней мере, в моей практике) в новых проектах вытесняется уже (причём, с треском пролетает ещё на этапе выбора инструмента).

а кем вытесняются, если не секрет? уж явно не erlang'ом...

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

>объектов разного типа, хранящихся в одном месте памяти" >variant record без дискриминанта Не вижу разницы в данном случае. Или вы в том смысле что вы считаете что я делаю ударение на то что "в одной ячейке паямти?" Я понимаю про вариант. О чём и написал. Но это - костыль. То, как сделано в джаве (с базовым Object) элегантнее будет.

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

>>объектов разного типа, хранящихся в одном месте памяти"

>>variant record без дискриминанта

> Не вижу разницы в данном случае.

В каком "данном"? Речь шла о том, что в учебнике по Хаскелю можно найти достаточно примеров типов union'ов, на что ты сказал, что это "не юнионы всё таки". Теперь ты не видишь разницы - между чем и чем?

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