LINUX.ORG.RU

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

 ,


0

6

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

Go, если тебе не гуй ваять.

AUX ★★ ()

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

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

kickass ()

В Го гигантская стандартная библиотека и он простой как палка.

slaykovsky ★★ ()

Мне для этих задач хорошо питон вошел.

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

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

AUX ★★ ()

Наверное Go, Kotlin native, Swift.

Приятные языки с gc которые компилируются в натив.

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

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

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

kostyarin_ ()

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

kostyarin_ ()

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

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

Я так понимаю, задача - вбросить на ЛОР.

ados ★★★★★ ()

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

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

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

kickass ()

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

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

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

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

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

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

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

kickass ()

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

ilovewindows ★★★★★ ()

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

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

kickass ()

Хвалят/хвалили эликсир. Люди родом из веба. Оно транслируется в сишечку.

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

Растишку/goвняшку пробовал? Реально, напиши простые проекты на этих штуках

I-Love-Microsoft ★★★★★ ()

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

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

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

anonymous ()

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

Iron_Bug ★★★★ ()

Питухон.

Если прямо «отправной точкой можно назвать 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 ()
Ответ на: комментарий от Eddy_Em

но нафиг пхытон линуксоидам — для меня загадка!

К - кроссплатформенность.

kostyarin_ ()
Ответ на: комментарий от 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 ☆☆☆☆☆ ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)