LINUX.ORG.RU

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

 ,


0

6

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


Pascal (начинал с Delphi когда-то, но уже почти не помню)

вспомнишь, не долго поковырявшись

kickass
()
Ответ на: комментарий от ponchik-2

Зачем kotlin, если есть прекрасный go, не троллирую

AUX ★★★
()

Ну по сути выбора почти и нет: Qt (C++), Delphi || Lazarus (Pascal).

Deleted
()

для своих задач

От сферы применения многое зависит. Если не GUI/OpenGL/Vulkan/С-libs, то Go. Если нет – то нет.

kostyarin_ ★★
()

Консольную-, сетевую- и web- мелочёвку на Go набросать как два пальца.

kostyarin_ ★★
()

Vala кст сырая, библиотек мало, нисоветую никому.

Deleted
()

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

Комильфо не комильфо, меньше лоровских троллей читай.

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

kickass
()

Задачи не указаны, если хочется меньше стрелять в ноги, то это python, java, go, c#…

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

говнокод, рутина, скриптота на баше, написанная на комп яп, вестимо.

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

Предполагаю найти что-то удобное для создания чего-то близкого по функциональности к скриптам, но за которым не надо будет носить интерпретатор. Если бы я знал точно задачи, я бы написал об этом, а возможно и не спрашивал бы, т.к. с таким критерием уже легче что-либо выбрать. А вообще мне просто интересно узнать, что есть хорошего из языков в нише «простой компилируемый язык с некоторым набором батареек».

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

я, когда не знаю или лень осилить задачу на bash, беру freepascal и говнокодю.

kickass
()

Если для себя, то вспоминай Delphi, плюс Lazarus очень даже неплох.

ilovewindows ★★★★★
()

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

имхо конечно.

kickass
()

Из всего списка подходит только Go, если не хочешь C с классами

WitcherGeralt ★★
()
Ответ на: комментарий от I-Love-Microsoft

Раст - говно. А Го - раство. Запомни это.

anonymous
()

Питухон.

Если прямо «отправной точкой можно назвать C», то Си+GLib+GTK или C++ + Qt, такие универсальные фреймворки сильно упрощают использование упоротых ЯП.

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

убери тег «С», к C эта тема не имеет ни малейшего отношения.

Имеет прямое. С — говно, ему нужна альтернатива.

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

Кстати, да. Многие знакомые — что линуксоиды, что вантузоиды — именно пхытон пользуют для автоматизации всякой фигни. Правда, я, конечно, понимаю вантузятников: у них баша и кореутилс нормальных нет, но нафиг пхытон линуксоидам — для меня загадка!

Eddy_Em ☆☆☆☆☆
()

Предполагаю найти что-то удобное для создания чего-то близкого по функциональности к скриптам, но за которым не надо будет носить интерпретатор.

nim:

  • транслируется в C/C++/Objective-C/JavaScript, компилится любым компилятором (с оговорками на кастрацию js в браузере)
  • круто подходит для скриптов и удобно работать с фс, реляционными бд, вебом, звуком, opengl. все либы и исходники, что есть для си, доступны из языка. есть проги для авто-враппинга сишного кода и/или для авто-трансляции сишного кода в pure-nim
  • для гуёв только GTK. если нужны гуи, тут Qt, вроде как очевидно должно быть. на растах, гоу, джаваскриптах, джавах, котлинах, дотнетах, ся, питонах, паскалях, голых плюсах, свифтах и прочих скалах кроссплатформенных гуёв нет. на них же нет гуёв адекватных. адекватные гуи это или GTK на си с врапперами под все языка (в принципе на всех десктопах через какие-то места работает), либо Qt, который работает везде: десктоп/мобилы/стриминг vnc, webgl и т.д., webassembly намедне завезли, на кофеварках работает, официально поддерживается python кроме плюсов, недавно добавили плагин с nim в qtcreator.
  • можно писать простые вещи не сильно загоняясь по самому языку. есть легковесная сборка мусора, отключаемая.
  • всё, что линкуется не из дистра линукса (nim-овское или сишное), в nim принято линковать статически
  • довольно быстро компилится
  • размером релизных бинарников можно пренебречь, они очень маленькие
  • адекватное открытое коммьюнити. на форуме можно задавать тупые вопросы, спамить PR-ами во все репы и в сам язык.
  • в отличие от джав и дотнетов (с хипстерскими не знаком) выдаёт ошибки так, что сразу понятно, где она, а не 70000-этажный бред не по делу.
  • красивый код получается, если в язык вникнуть

короче, если мне нужно написать что-то сложнее многоэтажных grep/awk/wc/find/while/for/less на bash, я делаю на nim

luntik2012
()

Потыкай Dart. Мне как-то зашел. Можно скрипты консольные ваять, можно web и даже под мобилки (flutter).

import 'package:args/args.dart';

ArgResults argResults;

void main(List<String> arguments) {  
  final ArgParser argParser = new ArgParser()
    ..addOption('name', abbr: 'n', defaultsTo: 'World');

  argResults = argParser.parse(arguments);

  final String name = argResults['name'];

  print("Hello, $name!");
}
anonymous
()
Ответ на: комментарий от Eddy_Em

чтобы pip-ом забивать необъятные объёмы SSD, которые нынче сильно подешевели, в обход системного пакетного менеджера, который не нужен

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

Если прямо «отправной точкой можно назвать C», то Си+GLib+GTK или C++ + Qt, такие универсальные фреймворки сильно упрощают использование упоротых ЯП.

Даже если брать отправной точкой Си, то перейти на Object Pascal всё равно проще, чем копаться во всём этом С++/GLib/GTK/Qt. Но это не точно.

kostyarin_ ★★
()

Если не пугает jvm, то kotlin. Если пугает, то только C++. Можно попробовать D.

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

Х — а вот фигушки! пхытонокод кроссплатформен до тех пор, пока это — какой-нибудь хеллоуворлд. Как только он расширяется более-менее, так сразу получается жопа.

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

Go посмотри. Компилируемый, с батарейками, рантайм с собой но маленький. Компилируется сразу в статический исполняемый бинарник.

TheKnight ★★★
()

C++ и раст - для мелочевки перебор. Вала - никому не нужная игрушка. Остальное нормально, надо уточнять круг задач. И для разнообразия добавлю Racket.

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

Ну так заместо Autotools всяких покатит. Хотя я бы для этих целей предпочёл Rake, но пишу на Go,поэтому и сборка у меня на Go.

kostyarin_ ★★
()

Да тут нечего думать. Сходи сюда и потрать часик. Не зайдёт, занчит Си++ бери, как более близкий к Си. Времени уйдёт немного, но зато видно будет сразу.

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

C - ЯП, существующий более 30 лет. просто ТС и некоторые онанимумы - неосиляторы. добавьте теги «неосилятор» и «говноскрипты». тогда будут подходящие теги.

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

Сходи сюда

Аж интересно стало. Зашел. Даже скрипты временно разрешил. И фигвам: пустота, лишь в левом углу неработающая гиперссылка «A Tour of Go». Очень наглядно изображает goвнистость.

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