LINUX.ORG.RU

Муки выбора первого юзабельного языка (pascal за язык не считается). Есть два ООП ЯП: лиспы точеные и питоны золоченые...

 , ,


2

5

Решил изучать первый (после псевоязыка: паскаля) ООП ЯП. Всё думаю, куда сесть то: на лиспы точеные или на питоны золоченые? Цели: нейронные сети, работа с БД, ФС, мелкие поделки школьного уровня (типа машинного обучения на SVM).

Какие преимущества и недостатки у того и другого ЯП?

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



Последнее исправление: ymn (всего исправлений: 1)

Решил изучать первый
ООП
нейронные сети, работа с БД, ФС, мелкие поделки школьного уровня (типа машинного обучения на SVM).
lisp

ты старался.jpg

Deleted
()

говорят, что питон жутко тормозит

Это злые дети с синдромом утёнка врут

уродливых отступов

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

Goury ★★★★★
()

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

takino ★★★★★
()
Последнее исправление: takino (всего исправлений: 1)

Цели: нейронные сети, работа с БД, ФС, мелкие поделки школьного уровня (типа машинного обучения на SVM).

Java [/thread]

ThePretender
()

Какие преимущества и недостатки у того и другого ЯП?

Питон: Достоинства: интуитивно-понятный синтаксис, много библиотек. Недостатки: скорость, методы программирования достаточно ограничены.

Lisp: Достоинства: Можно писать в любой возможной парадигме в нормальном синтаксисе для этой парадигмы, можно писать свои синтаксические конструкции. Если брать лисп, который racket, то там также есть наиболее полная система типов и тонны учебной литературы. Высокая скорость разработки и выполнения. Недостатки: непривычный поначалу синтаксис, относительно мало готовых библиотек.

Итого: если тебе надо изучить методы программирования, то лучше лисп. Чтобы потом не «писать на Фортране на любом языке» (с). Если тебе надо минимальными усилиями написать конкретную задачу и её скорость выполнения некритична (ФС, БД, ...), то питон.

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

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

починил

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

и работоспособность некритична

А что не так с работоспособностью программ на питоне? Вроде, как и на лиспе, все фатальные глюки во внешних сишных библиотеках.

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

плохо оплачивается, либо не кроссплатформенно

Тогда к хорошо оплачиваемым кроссплатформенным языкам добавьте 1С:Предприятие 8.

monk ★★★★★
()

Ещё говорят, что питон жутко тормозит

Вовка из параллельного класса говорит?

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

Если брать лисп, который racket

То там весьма криво работающая IDE. По крайней мере из репозитория Ubuntu 12.04. Может в современной версии лучше. Что конкретно было криво не помню, но repl в гуёвом окне не понравился.

Xenius ★★★★★
()

Всё думаю, куда сесть то: на лиспы точеные или на питоны золоченые?

Можешь попробовать Tcl, сочетает основные достоинства Lisp (гибкий простой синтаксис) и Python, и никаких нагромождений скобок.

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

Xenius ★★★★★
()
Последнее исправление: Xenius (всего исправлений: 1)
Ответ на: комментарий от Xenius

Что конкретно было криво не помню, но repl в гуёвом окне не понравился.

Странно. У меня всё работает и на Debian Linux и на Windows.

на крайний случай есть пакет geiser под Emacs

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

У меня всё работает и на Debian Linux и на Windows.

Так работала, просто криво, что-то мне не понравилось.

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

когда этот лисп - clojure, например

Не. clojure — это java со скобками. В Racket есть call/cc, контракты, юниты, в Common Lisp — CLOS, рестарты. А в clojure только пачка встроенного синтаксического сахара.

Поэтому, если умеешь какой-нибудь Lisp, но не хватает библиотек Java, то clojure годится, в остальных случаях лучше любой другой

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

А в clojure только пачка встроенного синтаксического сахара.

+ STM, асинхронщина, компиляция в яваскрипт...

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

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

Не так давно ЛОР посовещался и решил, что твои отступы эталон уродства. С чего бы вдруг?

staseg ★★★★★
()

Питон: легко пишется и читается.

Лисп: элитарность.

Ответ примерно на уровне твоего вопроса, выбирай что тебе ближе.

staseg ★★★★★
()
Последнее исправление: staseg (всего исправлений: 1)
Ответ на: комментарий от monk

clojure — это java со скобками.

сказочки от илитки

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

+ STM, асинхронщина, компиляция в яваскрипт...

STM — синтаксический сахар для set!-values.

асинхронщина — thread + futures есть и в Racket. Что уникального в clojure?

компиляция в яваскрипт — В смысле, так: https://www.hashcollision.org/whalesong/ ? Или так: http://planet.racket-lang.org/package-source/jaymccarthy/javascript.plt/1/2/d... ?

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

задача - быть максимально пригодным для решения задач

Так в clojure нормальных макросов нет, Слабых ссылок нет. CLOS нет. Даже рестартов нет. В целом, сделать на нём можно только то, что с таким же успехом можно сделать на Java.

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

Так в clojure нормальных макросов нет, Слабых ссылок нет. CLOS нет. Даже рестартов нет. В целом, сделать на нём можно только то, что с таким же успехом можно сделать на Java.

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

Debasher ★★★★★
()
Последнее исправление: Debasher (всего исправлений: 1)
Ответ на: комментарий от Debasher

во первых не делает его не лиспом,

PicoLisp тоже лисп. Хотя в нём даже массивов нет. Зато изучать легко.

во вторых не делает джавой

Без джавы (и её библиотек) clojure был бы совсем бесполезным.

monk ★★★★★
()

говорят, что питон жутко тормозит, т.к. полностью интерпретируемый

возьми pypy, он JIT

ei-grad ★★★★★
()
Ответ на: комментарий от monk

Без джавы (и её библиотек) clojure был бы совсем бесполезным.

совершенно верно
я о том и говорю, 'киллер-фичи' это ещё далеко не всё, важен баланс возможностей (и невозможностей)
толку от ваших сракетов и КЛОСов, если есть причины по которым это нельзя использовать для решения задачи

Debasher ★★★★★
()
Последнее исправление: Debasher (всего исправлений: 1)

Есть два ООП ЯП

Их намного больше, по каким критериям ты выбрал эти 2? Добавь ещё один критерий и выбери из них один.

Дата регистрации: 30.11.2015

Ты думаешь ты зелёненький? Не ты коричневенький.

ya-betmen ★★★★★
()
Ответ на: комментарий от Debasher

толку от ваших сракетов и КЛОСов, если есть причины по которым это нельзя использовать для решения задачи

Те задачи, что в теме вполне решаются и на Racket и на CL. А clojure имеет смысл изучать только после Java. Иначе без навыка использования библиотек Java там сделать можно ещё меньше, чем в Racket и CL.

monk ★★★★★
()

питон конечно же

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

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

Ты же лисп предложил.

Лисп для обучения (у Racket это вообще основная ниша), а Java (как и COBOL или 1С) для энтерпрайза

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

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

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

Питон: легко пишется и читается

Пока пишут хеловорды. А когда начинается магия с метаклассами, декораторами, кастомными аксессорами и прямом ковырянии в dict класса - нихера не легко.

no-such-file ★★★★★
()

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

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

А clojure имеет смысл изучать только после Java.

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

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

Какой толк от решения задачи если она решена на Java?

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

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