LINUX.ORG.RU

Какие есть годные языки с производительностью на уровне C?

 ,


3

7

Какие есть языки, в которых производительности и потребление памяти близки к таковым для кода на C (разница не более чем в 2-3 раза, а не в десятки и сотни раз как на всяких питонах), но без извращений с ручным выделением памяти и поддержкой функций как значений переменной, оптимизации хвостовой рекурсии и тд?

Желательна строгая типизация.

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

★★★★★

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

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

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

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

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

а ты не можешь объяснить.

лучше бы из бана не вылезал

а что-то кроме флуда выдавить можешь?

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

по поводу монад от гуру:

http://www.reddit.com/r/programming/comments/ox6s/ask_reddit_what_the_hell_ar...

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

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

вы на них что, дрочите? (прошу прощения за грубость, но как иначе тебя понимать?)

Ты верно понял суть хаскель-комьюнити.

quantum-troll ★★★★★
()
Ответ на: комментарий от dizza

И еще, что бы хоть как-то представлять перфоманс особенности, стоит посмотреть

не стоит. (ставь ударение как хочешь)

Там и про «быстрый» С++ рассказывают.

а код для проверки я буду под диктовку набирать, или с экрана переписывать?

Или там аргументы, как у нашего qnikst (см. выше)? А ну тогда да, код не нужен. Могу сразу ответить автору: сам ты такой ****, и уши у тебя холодные.

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

а ты не можешь объяснить.

Вне учебного процесса объясняют только тому, кто задаёт вопросы, а не тому кто считает, что и так всё знает. А да.. ещё тому, кто платит деньги за объяснение, но это уже снова учебный процесс.

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

По твоему посту, там много текста уровня КО про quicksort в целом, к делу не относящемуся (странно, что ты не написал, что в ограниченной памяти, напр 64-битной адресацией, quicksort можно делать в const stack); ссылка на не самую удачную реализацию quicksort в кафе, преподаная будто бы в haskell quicksort выглядит ужасно; непонятно откуда взявшаяся мысль, что в haskell quicksort (x:xs) = less x xs ++ [x]++more x, кто-то кроме тебя называет быстрой сортировкой; и пост на жж, где используется ровно тот же алгоритм чуть по другому записанный.

Если ты с чем-то из вышеперечисленного несогласен, то можешь _задавать вопросы_, во всяком случае по ФП и haskell.

а что-то кроме флуда выдавить можешь?

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

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

Если слияние выглядит уродливо, то это ЯП уродливый

иксперты в треде! все в танк!

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

emulek
()
Ответ на: комментарий от quantum-troll

вы на них что, дрочите? (прошу прощения за грубость, но как иначе тебя понимать?)

Ты верно понял суть хаскель-комьюнити.

а... Тогда ясно.

Господа хаскелисты, устройте перепись пожалуйста. Я вас хоть промаркирую...

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

Меня бренды мало интересуют. А вот по синтаксису хотелось бы узнать более подробно. Чисто из любопытства.

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

По твоему посту, там много текста уровня КО про quicksort в целом

дык это для тебя К.О. А для многих простой вывод — бред. Надо разжевать, а то опять не поймут, и будут обижаться. И опять забанят.

странно, что ты не написал, что в ограниченной памяти, напр 64-битной адресацией, quicksort можно делать в const stack

я про алгоритм говорил. Stack тут вроде-бы не причём. Особенно такой, который ВНЕЗАПНО может разрастись до Over(N) слов(да, я знаю, если ручками развернуть хвостовую рекурсию, и добавить ветвление, то всё будет более-менее, оно эти самые непредсказуемые ветвления очень уж не любит мой x86)

непонятно откуда взявшаяся мысль, что в haskell quicksort (x:xs) = less x xs ++ [x]++more x, кто-то кроме тебя называет быстрой сортировкой;

а по твоему среди этих буквочек я вставил «quicksort», или оно там так и было? Неа, было.

ссылка на не самую удачную реализацию quicksort в кафе, преподаная будто бы в haskell quicksort выглядит ужасно;

Если ты с чем-то из вышеперечисленного несогласен, то можешь _задавать вопросы_, во всяком случае по ФП и haskell.

про ФП задам потом, спасибо. А вот хаскел меня что-то совсем не вдохновляет.

это не ко мне вопрос

не, к тебе. Если-бы я этот вопрос не задал, то ничего нового и полезного не узнал. Надо было тебя спровоцировать (:

Ну а тупых тем про зелёную пони(и всех всех всех) и так слишком много ИМХО.

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

Жесточайшее месиво всего самого худшего (C++, java и питон).

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

man «Windows»

и что? операционная система номер 1 на десктопах.

корпорация M$ кроме клавиатур ничего годного не сделала

бред. man F#, man F*, man Microsoft Research.

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

вы на них что, дрочите? (прошу прощения за грубость, но как иначе тебя понимать?)

Именно так. Ты правильно понял суть.

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

а при чём тут СУБД?

При том, что это потенциально нагруженная система, которую можно более-менее обьективно померить.

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

операционная система номер 1 на десктопах

Не смеши мои тапочки! Мастдайка для десктопов готова не больше, чем GNU/Hurd!

man F#, man F*, man Microsoft Research.

Еще пара говноязыков.

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

Просто посмотреть на отзывчивость гуя на запросы.

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

я про алгоритм говорил. Stack тут вроде-бы не причём. Особенно такой, который ВНЕЗАПНО может разрастись до Over(N) слов(да, я знаю, если ручками развернуть хвостовую рекурсию, и добавить ветвление, то всё будет более-менее, оно эти самые непредсказуемые ветвления очень уж не любит мой x86)

не-не-не, в другую сторону думай или см. quicksort в glibc-е.

а по твоему среди этих буквочек я вставил «quicksort», или оно там так и было? Неа, было.

данный пример должен приводиться, только как то, что форма записи в haskell может быть очень близка к математической. При приведении этого примера всегда говорится, что это не quicksort. Я не знаю почему этот пример все так любят.

не, к тебе. Если-бы я этот вопрос не задал, то ничего нового и полезного не узнал. Надо было тебя спровоцировать (:

то, что я написал в посте чуть выше я бы всё равно написал.

P.S. моя реализация quicksort слила сишной (из lj) в 3 раза, с wiki во много, разбираться почему и делать более оптимальный вариант на haskell мне лень ибо работать надо.

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

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

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

почему у тебя на всё находится своя точка зрения?

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

ты ведь не умеешь вести аргументированный диалог

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

С питоном тоже работал. Язык без строгой типизации. Жесть! → говно!

микрософт говно

А ты хочешь этот факт оспорить?

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

Не смеши мои тапочки! Поделку какую-то подсунул.

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

опять же, 99% проектов на всякой функциональщине — околофинансовый софт, сорцы которого ты никогда не увидишь.

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

околофинансовый софт, сорцы которого ты никогда не увидишь

Проприетарщину мы не рассматриваем, от нее толку 0.

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

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

одно дело, когда своя точка зрения подкреплена опытом, и совершенно другое — твой случай: нашел какие-то наколенные студенческие поделки и радуешься.

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

а я видел, как жабоприложения воротят финансовой информацией, не глючат и не падают.

С питоном тоже работал. Язык без строгой типизации. Жесть! → говно!

А что ты знаешь о теории типов?

А ты хочешь этот факт оспорить?

я тебе назвал несколько годных продуктов, которые делает майкрософт. Что ты еще ждешь от меня?

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

это оверхэд, который JІТ не всегда может вырезать

значит JIT == говно. (:

часто это случается с віртуальнымі вызовамі & большими функцыямі, которые JIT не инлайнит.

доходіт до (образно) «напішу бубльсорт, а мудрая JVM сделает із этого O(nlogn)

ну это уже не проблема ЯП.

в какой-то мере это проблема бібліотек. Часть ответа на вопрос про «тормознутость явы»

dzidzitop ★★
()

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

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

Это не работает с CharSequence#charAt(int)?

это не работает, когда есть несколько реалізацій одного інтерфеса, с которымі вызывается функція.

Есть MethodHandle и специальная его поддержка в JVM. Это не помогает?

это reflection (introspection). То есть явно будут тормоза.

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

Оптимизатор как правило выкидывает во время исполнения.

слепая вера в могучій JIT? я знаю, когда он выкідывает, а когда - нет.

Зато есть escape analysis

подпорка, работает не всегда

В 8-й яве будут.

еслі не будут сахарком над анонімнымі классамі - тогда хорошо.

небесплатный дінаміческій type case

А он где-то бесплатный? Не знал.

где-то он почті не юзается. На C++ не пользовался нікогда.

Проблема программиствов

проблема пользователей бібліотек.

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

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

А, старый герой под новым именем! Все тогда понятно.

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

А, так ты не человек, ты религиозная шавка? Тогда вопрос снимается. Разложить по полочкам, в чем «кривизна», такому ничтожеству явно не по силам.

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

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

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

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

// в этой области я совершенный 0, поэтому без понятия, что там и как.

А вот почему банковский софт — поганая проприетарщина — не понимаю. Ведь свободный софт намного надежней закрытого.

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

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

ВНЕЗАПНО! Софт для сквозного проектирования закрыт и стоит огромных денег.

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

Допустим используются OCaml/Lisp/Haskell/etc. Что у них с GUI?

походу это языки только для расчетов или серверного проганья, с веб-мордами. я подозреваю что для них даже ODBC/JDBC нет, т.е. с БД не поработать

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

Видимо, это только из-за того, что разработка микросхем — столь редкий техпроцесс, что нужен такой софт "полутора человекам". Иначе уже написали бы нормальный аналог. Кстати, а мне казалось, что где-то я читал про OSS-софт для разработки микросхем. Или это мне спьяни почудилось?

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

походу это языки только для расчетов или серверного проганья
с БД не поработать

еще один теоретик, блджад!

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