LINUX.ORG.RU

Человеческая замена C для своих задач

 ,


0

6

Хочется найти простой кроссплатформенный компилируемый язык для программирования всякой мелочи для себя. Отправной точкой можно назвать C, но хочется поменьше рутины, возможностей на ровном месте выстрелить в ногу и наличия удобных базовых структур, вроде строк, динамических массивов и прочих списков. В кандидатурах сейчас пока C++ (не хочется лезть в дебри именно плюсов, с другой стороны писать в духе C с классами кажется как-то не комильфо), Pascal (начинал с Delphi когда-то, но уже почти не помню), Vala (тыкал немного, напрягает, что надо тянуть Glib и с поддержкой + кроссплатформой не очень), Go, D (на первый взгляд тоже ситуация с поддержкой и библиотеками не радует), Rust (какой-то инопланетный, но идея с управлением памятью интересна).


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

Я не хочу "включать Луговского". =)))

Но да, есть категория людей, которые необучаемы.

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

У нас нормально всё и с тестированием и с проектированием и с написанием. Говна не плодим. Вам же не повезло по-моему.

Moisha_Liberman ★★
()
Ответ на: Напирай-не напирай... от Moisha_Liberman

Это не или-или. Можно и напирать сильнее и про законы не забывать.

Всё остальное - это что? Неужели и proof-driven devеlopment проверяли?

Да, а что насчёт прототипов функций не в стиле K&R? Это как - полезно? Или тоже лишнее усложнение?

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

red75prim ★★★
()
Ответ на: Взоржахом аки конь стоялый! =))) от Moisha_Liberman

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

Доказательство по аналогии. В топку.

На каком языке можно написать что-либо без ошибок? Приведите примеры? С++? Rust? Python? D? Ну? Смелее...

Разговор про «без ошибок» вы уже провалили, не сумев рассказать, как же писать миллионы строк корректного кода. Так что просто возвращаемся к чистой сишечке и напоминаем вам о том, что в этом языке присутствует целый класс ошибок, которые еще нужно постараться совершить в Rust, Python, D и т.д.

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

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

Откуда дровишки про отсутствие? Вам в вашем тесном embedded-мирке кто-то напел?

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

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

Может, ещё и Вашу тьолочку ещё удовлетворять за Вас?

Что вкупе в вашим же признанием о том, что вы матом еще и думаете, говорит о вашем уровне развития очень многое.

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

А?

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

По поводу «вашего времени». В наше время подобных вам пустозвонов техническими специалистами не называли.

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

Стандарт это. Стандарт.

Да, а что насчёт прототипов функций не в стиле K&R? Это как - полезно?

«Объявления ф-ий в стиле K&R» стандартом не являются. ЕМНИП, это в С89 добавлено было понятие прототипа функции. Учитывая то, что «прототип» это ни что иное как объявление ф-ии, иногда под термином «объявление ф-ии в стиле K&R» понимается ни что иное как объявление ф-ии, не являющейся прототипом.

Причина такого отношения к ф-ям в стиле K&R заключается в том, что они менее безопасны, т.к. компиль не может проверить, что вы правильно указали количество и типы параметров в правильном порядке, что у них неопределённое поведение, если вызов не правильный.

В общем, не используйте их, не шокируйте splint. =))) https://en.wikipedia.org/wiki/C_(programming_language)#K.26R_C

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

вот оно поколение современности

Что??? С каких пор у swift'а есть GC? Срочно в биореактор без суда и следствия. Вы это только ещё в приличном обществе не скажите, а то могут и помидорами закидать, ну или чем там нынче закидывают

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

ARC - никогда не был и не будет GC! А котлин нэйтив только начали делать GC для LLVM и пока что ни к чему это не привело.

P.S. Чем то это напоминает отголоски хайпа про свифт, когда он только вышел. И где все эти обещанные тонны серверов и прочего говна на свифте под все платформы? Иди в школу! Или уже каникулы?

SerzhanT
()

Crystal предлагали?

q0tw4 ★★★★
()

Vala. Glib тянуть не надо, если писать на posixvala. И с кроссплатформой очень, компилируется везде так же, как и Си.

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

Культура должна оставаться. Можно и под нормальные МК в «среде абдурино» писать быдлокод — они стерпят, флеша хватит и ресурсы достаточно приличные, чтобы ногами дрыгать вместо человеческого выполнения задач. Но все-таки, зачем, скажем, писать софтовый I2C или SPI, если есть аппаратный? Туда же и DMA можно задействовать. А выбрав правильный подход, получишь огромное количество свободного флеша, который можно использовать для хранения настроек, логов и т.д., и т.п.

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