LINUX.ORG.RU

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

 ,


0

6

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


Ответ на: комментарий от goto-vlad

Если отдельно взятая команда разработчиков может выдавать результат на своем любимом языке X

Начали за преимущества - закончили вкусовщиной. ЧТД.

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

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

И ведь все сишные реализации контейнеров изобилуют трюками, хаками (как правило с UB, у них в том числе) и ограничениями разной степени упоротости.

А про шаблоны там же написано:

But they sure are nice for generic collection types, such as vector<T>!

Причем те недостатки, что были приписаны шаблонам, присущи и макросам. Разве что инстанцирование дешевое.

В конце концов, в C++ такие же макросы, кому хочется именно их.

В общем, преимущества C тут не раскрыты. А вот недостатки - вполне.

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

Согласен, eao197 начал о преимуществах C++, а закончили тем, что каждому своё.

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

Принудительное utf8 спасет мир.

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

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

И как образом вам мешают методы?

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

В общем, преимущества C тут не раскрыты. А вот недостатки - вполне.

Их устраивает C, следовательно, они пишут на C.
anonymous'a устраивает C++ — он пишет на C++.
Или вы хотите уговорить их переписать все на C++?

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

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

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

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

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

Т.е. это люди громоздящие условную малинку и шилду (выворачивает от этого слова) ради управления каким-нибудь реле?

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

Я прокомментировал декларированные преимущества си. Они несостоятельны, по крайней мере некоторые.

Мне интересно, потому что я сам несколько лет был упертым сишником. Но постепенно пришел к тому что C++ однозначно лучше. И мне интересно, что может привести человека, знающего и то и другое, к си.

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

Да. Причем еще и запихивая туда громоздкий фреймворк.

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

кракозябрами» отображаются

utf8 же!

только русские смогут прочесть

Не планируется участие иностранных разработчиков.

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

Кто не переводил комментарии, тому не понять.

Видел комментарии русскоговорящих, переведенные на английский гуглом. Не надо так!

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

Мне интересно, потому что я сам несколько лет был упертым сишником. Но постепенно пришел к тому что C++ однозначно лучше. И мне интересно, что может привести человека, знающего и то и другое, к си.

Их предыдущий проект, Bitsquid Engine, был написан на C++, можно сказать, что они проделали обратный путь.

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

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

Но применение такого подхода не гарантировано и если человек выжил в embedded несколько лет на разных проектах, он уже норм. Тут короче не в железе особо дело, а в людях, выбирающих путь меньшего сопротивления, независимо от результатов. Просто нужно понимать, когда брать ардуину, когда малину, а когда разрабатывать свою плату. Ну и понимать что там код в железке делает на самом деле. Это все приходит с опытом.

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

utf8 же!

Я - не китаец! Я - русский. Поэтому у меня КОИ8-Р.

Не планируется участие иностранных разработчиков.

При чем здесь это? Гитхаб всем доступен.

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

Ну ок, покопаюсь в блоге. Спасибо за пример.

PS Читал подобную историю от автора ZeroMQ, но доводы не убедили.

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

Поправил. Не благодарите.

Отрицать убогость сишки как-то странно.

Отрицать интеллектуальную убогость неосиляторов сишки как-то странно.

Все остальные перечисленные Вами «аргументы» больше напоминают о трепетных и нежных отношениях дурака и стеклянного полового члена. =)))

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

там ему есть место, а в текстовых файлах и объектах ФС нужна обычная 8-битная кодировка. В ФС лучше вообще за рамки ASCII не выходить, ну и, понятное дело, всякие пробелы не использовать.

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

В koi-8 даже войну и мир не почитаешь. Да и utf-8 везде смысл плыть против течения, если ничего и не теряешь особо, у тебя ж не 8086 процессор что бы какие то потери по скорости были.

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

Блин... Сижу теперь, думаю...

То есть это язык, который ничего не умеет.

И как же Вас на лорчик-то занесло? Аж монитор засмузеточил...

Moisha_Liberman ★★
()

всякой мелочи для себя

Python

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

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

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

1. Компиоятор не бьет по рукам если лэйаут разный.
2. Стэк трейс крэша часто не читаемый.
3. Как показывает опыт - уверенным быть нельзя нигде. Чем больше проект тем выше вероятность запутаться в этом и создать ошибку которую очень сложно найти.

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

C имеет стабильный ABI

Если ты про несовместимость софта собранного с glibc с каким-нибудь uclibc, то это ты не по адресу.

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

Это если у тебя. А если тебе баг зарепортить надо,то по сути сначала надо самому пакет пересобрать.

А если оно не крэшится и пишет трэш в соседние поля структуры - удачи ловить.

invy ★★★★★
()
Последнее исправление: invy (всего исправлений: 1)
Ответ на: Ну если для Вас... от Moisha_Liberman

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

Лол, я думал, сейчас такого уже не услышать. На самом деле доля правды в этом есть, но причина и следствие перепутаны

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

Это если у тебя. А если тебе баг зарепортить надо,то по сути сначала надо самому пакет пересобрать.

Есть же вроде версии пакетов с dbg-syms. Правда, в случае с проприентарщиной остаются лишь страдания.

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

Да, собственно...

Реально стоящие чего-либо концепции как правило несложны. Их понять несложно. А вот принять и правильно применять, это проблема.

Вон, Декалог (Десять Заповедей). Всего 10, примитив, а вкурить их аж два тысячелетия не могут. Чуть больше. ;)

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

Да dbgsyms есть. Но опять же если крэш.

В Apache etch один такой баг вылез только на онтопике и только при сборке под x64. И даже так далеко не сразу было видно «что имел в виду автор».

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

Я уже написал почему так.

Но повторю.

но причина и следствие перепутаны

Причина тут в том, что С даёт достаточно скромный набор, но предоставляет широкие возможности.

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

Как следствие идиотов из С выносят пачками. Отделяют, так сказать, зёрна от плевел.

Всё. Больше ничего.

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

Попытка трудоустройства была хорошая.

Одна лирика сплошная у вас.

Но нет. Я не планирую расширения. Извините.

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

На похапе или 1С тоже пишут.

Поэтому люди и пишут на нормальных языках.

Да. Питон вот на С написали... =)))

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

Погоди, ещё популярность спадёт - и не такое будет. Маргинальщина то всегда однотипно защищается

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

А! Вспомнил! Вспомнил!

Точно! Это же вроде наш уважаемый коллега писал где-то что его в универе сями аж полгода мучали? Он или не он?

Если он, то тогда иксперд, чё... =)))

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

Каким боком union к ADT, болезный?

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