LINUX.ORG.RU

Шустрый и легко осиливаемый ЯП, есть такой?

 


3

7

Не холивара ради абсолютно холиварная тема. Есть плата на ARM с гигом оперативы и не особо мощным процем (а-ля raspberry, только не raspberry), я столкнулся с проблемой что она мой говнокод на питоне крутит ну о-о-о-очень долго. И даже после того, как мой говнокод поправили, производительность выросла всего на гулькин хер.

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

Какой мне ЯП выбрать для изучения, чтоб он шустро крутился даже если наговнокодить? Наверное таких и нет, но всё же.

Deleted

Наверное тебе подойдёт Go. Возможно Haskell.

Но сам понимаешь, чем меньше всего придётся осиливать, и больше будет «можно и наговнокодить», тем менее «шустро» выйдет. Это всегда компромисс.

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

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

Заблуждение.

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

Может для тех кто знаком с программированием, но я просто обыкновенный пользователь компьютера. Самое сложное, что я делал, это собирал пятые кеды в древней слаке just for lulz и патчил готовый код готовыми патчами, едва ли вникая в суть изменений. Попробовать можно, но выйдет ли..

Deleted
()

Очевидно, если ты наговнокодишь алгоритм с экспоненциальной сложностью для задачи, решаемой за линию, то никакой ЯП тебя не спасёт. С другой стороны, современный python с jit довольно эффективен, можешь попробовать какой-нибудь cython или что-нибудь ещё в таком духе, чтобы попробовать что-нибудь выжать из того, что имеется. А вообще, С прост как пробка, синтаксических конструкций минимум, а годы практики не повредят для программирования на любом языке.

Softwayer ★★
()

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

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

На Си «говнокод» тоже вполне способен тормозить. =)

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

Haskell это что-то про матан?) Никогда с матаном не дружил, может сейчас осилю. А на сколько часто его ИРЛ можно встретить? Кроме WM на Haskell ничего не слышал.

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

А вообще, мы не осведомлены ни о твоём проекте, ни о твоих предпочтениях, так что советовать - тыкать пальцем в небо.

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

Никогда с матаном не дружил

Тогда наверное не стоит. Go возьми или Rust.

А на сколько часто его ИРЛ можно встретить? Кроме WM на Haskell ничего не слышал.

Ну тебе же не часто встречать, а писать надо было. Довольно нечасто, да.

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

там говнокод скорее будет вызывать core dumped а вот чтобы он тормозил нужно постараться

Jopich1
()

Шустрый и легко осиливаемый ЯП

Малосовместимые параметры, но наговнокодить можно везде.

BceM_IIpuBeT ★★☆☆☆
()

документации куча, литературы тьма

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

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

Смартфон, борткомпьютер для десятки, смарт часы и умный дом. Учебный проект, целью которого стоит выучить ЯП и сделать что-то типа iot говна на все случаи жизни. Говори что хочешь, но я считаю что в течении 10 лет компьютерные технологии будут максимально интегрированы в нашу жизнь.

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

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

нужны годы практики, а свою фигню я хочу уже к концу года

Вам нужно перестать заниматься программированием.

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

О да, и почему? Продукт не для паблика, я учусь. Авось что и выучу. Слушать каких-то мимокрокодилов не собираюсь.

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

Бери C или Rust. Если ни с одним не знаком, то всё равно легко не будет. На C тонны библиотек на все случаи жизни, ржавчина, по моему мнению, - удобнее.

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

Ну если не собираешься, то зачем на форум пишешь?

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

О да, и почему?

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

Слушать каких-то мимокрокодилов не собираюсь.

Зачем тогда тему создал? Раз сам такой умный, должен сам знать, что тебе нужно.

Psych218 ★★★★★
()

Выберу С. Всем спасибо, я за книжки. М.б. в январе выложу фотку готовых часов))

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

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

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

Гигабайта может хватит, но это не точно.

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

Psych218 ★★★★★
()

А вот какой нужен язык программирования дцпшнику (не здоровенькому дебилу, а страдающему «заболеванием» ДЦП), ну чтоб синтаксис был попроще и немного ООП ? Сам пишу хэллоу ворлды и для вебни на питоне и присматриваюсь к Go.

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

Синтаксис попроще — это поменьше сахара или побольше?

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

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

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

А памяти раз на питон хватает, то на хаскель подавно хватит.

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

olibjerd ★★★★★
()

Есть плата на ARM с гигом оперативы и не особо мощным процем (а-ля raspberry, только не raspberry), я столкнулся с проблемой что она мой говнокод на питоне крутит ну о-о-о-очень долго. И даже после того, как мой говнокод поправили, производительность выросла всего на гулькин хер

ИМХО

  1. Питон довольно шустрый язык ( среди высокоуровневых, само собой )
  2. На заборе тоже написано, а за забором стройка. Если всё ещё тормозит, значит не поправили. Или поправляли тоже профи. Без обид - себя я тоже не считаю программистом ;)
  3. Нужно искать причину тормозов, а не менять ЯП. С потолка могу взять причину, что процессор не просто слабый, а в нём в принципе отсутствует какой-нибудь важный блок типа fpu, и интерпретатору питона приходится выкручиваться как может. Или тормозная флешка, а ты работаешь с диском. Не суть. Важно, что пока не найдена причина, смена языка тебе не поможет. Ты потратишь месяц на изучение си и вполне можешь получить те же тормоза
router ★★★★★
()
Ответ на: комментарий от Psych218

Синтаксис попроще — это поменьше сахара или побольше?

Например, чтоб поменьше скобочек. Хотя тут питон подходит, да. Насчет производительности мне посоветовали Go, хотя он местами напоминает (синтаксис) питон и Си

Deleted
()

Скомпиль свой код nuitk'ой

annulen ★★★★★
()

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

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

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

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

Я бы начал с

  • запуска atop ( если он есть под твой нераспберри ). atop подсветит красным то, что он считает узким местом. Не факт, что он покажет всё, но от этого можно отталкиваться
  • сбора информации через sysstat, и потом построения графиков через kSar. kSar после анализа покажет узкие места, которые он смог найти автоматически ( см. выше )
  • запуска твоего скрипта через утилиту time ( пример Возможно ли в linux посчитать ресурсы, потраченные на выполнение команды? (комментарий) )
router ★★★★★
()

Gambit компилятор Scheme в С. Скорость от С, простота от Scheme у которого базовый стандарт специально сделан максисмально простым. Возможность по необходимости дергать С-шный low-level тоже специально оставлена.

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

Например, чтоб поменьше скобочек. Хотя тут питон подходит, да.

Ну да, тут определённо питон. Скобочек и в Хаскеле можно мало ставить, но там замороченный синтаксис для тебя будет, со всякими $, >>= и т.п.

Насчет производительности мне посоветовали Go

Ну производительность, конечно, больше от прямоты рук зависит, чем от языка. От языка зависит в том смысле, до сколь низкого уровня он позволяет спускаться. Ну и естественно, компиллируемые в машинный код языки по производительности будут опережать интерпретируемые или с VM (типа явы и дотнета). При должном умении больше всего производительности выйдет выжать из C. Затем Rust, C++, Go из ныне здравствующих. Во всех в них используется C-подобный синтаксис. При этом на Go проще перейти с Питона. Не то чтобы он был похож сильно, но есть общие черты. А на кресты проще перейти с C, соответственно. Rust стоит особняком, у него с одной стороны тоже сишный синтаксис, с другой, там есть концепции, которых не было в других языках, там совершенно иначе построено «владение» переменными, оберегает, в отличие от C от некоторых возможностей выстрелить в ногу, причём именно от них оберегает хорошо. Да и вообще интересный язык, я внимательно слежу за его развитием, но пока только немного читал, а писал лишь «хелловорлды».

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

Язык Ада.

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

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

Это лямбды что ли? Они в питоне не zero-cost?

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

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

Shadow ★★★★★
()

И к слову используя LambdaNative который сделан поверх Гамбита ты сможешь запускать свой говнокод еще и на андроиде и прочих айфонах или даже вобще на роутерах имени OpenWrt.

antares0 ★★★★
()

Ты уверен, что то, что ты хочешь написать уже не реализовано?

invy ★★★★★
()

ты чтото жуткое видать там наделал раз оно тормозит...
если С нехочешь ковырять, то возьми cython и прогони свой код в нем. если всеравно будет тормозить - плохой знак ;)

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