Представлен релиз языка системного программирования Nim 1.2. Язык Nim использует статическую типизацию и создан с оглядкой на Pascal, C++, Python и Lisp. Исходный код на языке Nim компилируется в представление на C, C++ или JavaScript. В дальнейшем полученный C/C++ код компилируется в исполняемый файл при помощи любого доступного компилятора (clang, gcc, icc, Visual C++), что позволяет добиться производительности близкой к Си, если не учитывать затраты на выполнение сборщика мусора. По аналогии с Python в Nim в качестве разделителей блоков применяются отступы. Поддерживаются средства метапрограммирования и возможности для создания предметно-ориентированных языков (DSL). Код проекта поставляется под лицензией MIT...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=52709
Где гарантии, что при трансляции в Си не получится нехороший код?
Там же где и гарантии, что код на си будет написан хорошо и без ошибок. Только тут скорей всего код будет писаться гораздо быстрей.
Гарантию дает тот же кто определяет что код нехороший.
> Где гарантии, что при трансляции в Си не получится нехороший код?Там же, где и гарантии, что он не получится при трансляции в асм/машкод.
> Исходный код на языке Nim компилируется в представление на C, C++ или JavaScript.скорее всё-же транслируется?
нет, это именно компиляция
Чего только не придумают лишь бы программистов не обучать.
Сейчас столько курсов на питоне. И что же, честно сказать им, что нафиг никому они не нужны, а учебные курсы - это только для зарабатывания на них денег?
Еще не все потеряно
Питон язык для прототипирования. По жизни много где может пригодиться.
Кому питон, кому пых, а кому - и нода...
Любой современный язык программирования не требуют прототипирования на чём-то другом. Просто надо жить в 21-м веке, а не тогда, когда питон был разработан. Нигде он не нужен в наше время.
> Нигде он не нужен в наше время.Именно поэтому питон нынче торчит отовсюду.
Мало осталось софта, который при сборке не тянул бы за собой в систему питон через левые зависимости.
> Именно поэтому питон нынче торчит отовсюду.Далеко не везде. Обычно торчит там, где квалификация программеров не очень.
> там, где квалификация программеров не очень.Ну, это просто другой вариант произношения слова "везде".
> нет, это именно компиляцияпочему?
компиляция - процесс получения исполняемого-бинарного кода
в данном же случае получается исходный код на других языках
В институте учили так:
Трансляция - перевод из одного языка в другой
Компиляция - перевод из языка программирования в бинарное представление, по сути, в инструкции для процессора на выбранной архитектуреПроблемы с пониманием уже начались с попытки понять JIT. То бишь - вроде как компиляция, а вроде как и уже нет. Хрень какая-то. Да и Java - тоже какая-то хрень.
> Проблемы с пониманием уже начались с попытки понять JIT. То бишь - вроде как компиляция, а вроде как и уже нетне, тут всё чётко - jit компиляция
то, что полученный байт-код выполняется в виртуальной машине не имеет значения.
>> Проблемы с пониманием уже начались с попытки понять JIT. То бишь - вроде как компиляция, а вроде как и уже нет
> не, тут всё чётко - jit компиляция
> то, что полученный байт-код выполняется в виртуальной машине не имеет значения.Тогда понятно. То есть вместо реальной машины, получаем виртуальную. На ней и выполняется байт-код.
Я так понимаю основная задача с JIT была - переносимость с одной архитектуры на другую.
>Я так понимаю основная задача с JIT была - переносимость с одной архитектуры на другую.задача переносимости решилась вводом байткода, jit его ускоряет за счет компиляции в нативный в процессе выполнения.
>> то, что полученный байт-код выполняется в виртуальной машине не имеет значения.
хоть на википедию сходите, а то анонимы тут жгут
> то, что полученный байт-код выполняется в виртуальной машине не имеет значения.ШТА?? Т. е. просадки по производительности тоже не имеют значения?? Браво, чувак!
> ШТА?? Т. е. просадки по производительности тоже не имеют значения??в контексте компиляция\трансляция
к тому-же никто не запрещает этот байт-код выполнять на спец-железе> Браво, чувак!
от чувака слышу.
> к тому-же никто не запрещает этот байт-код выполнять на спец-железеВот это системный язык программирования, да! Со "спец-железом")))
>> к тому-же никто не запрещает этот байт-код выполнять на спец-железе
> Вот это системный язык программирования, да! Со "спец-железом")))Эксперт опеннета по чтению жопой.
Да тут все чуваки.
> Да тут все чуваки.В моем детстве слово чувак не было обидным ) Вроде как - свой, свой чувак, приятель, я ему доверяю, он свой чувак в натуре )
А теперь все, ушла Масяня, чуваки и чувихи )
> В институте учили так:
> Трансляция - перевод из одного языка в другой
> Компиляция - перевод из языка программирования в бинарное представление, по сути, в
> инструкции для процессора на выбранной архитектуреБинарное представление, как правило, предполагает процесс линковки, то есть связывания с внешними библиотеками.
Подобным образом можно скомпелировать текстовое сообщение (реферат, статью) из разных кусочков.
> Проблемы с пониманием уже начались с попытки понять JIT. То бишь -
> вроде как компиляция, а вроде как и уже нет. Хрень какая-то.
> Да и Java - тоже какая-то хрень.
>> нет, это именно компиляция
> почему?
> компиляция - процесс получения исполняемого-бинарного кодаВообще-то, трансляция - часть компиляции.
Да и в "классической" компиляции уже давно получается исходный код на другом ЯП (asm или всякие промежуточные языки, как в LLVM и его фронтендах).
man as
> as is primarily intended to assemble the output of the GNU C compiler "gcc" for use by the linker "ld".
все таки транспиляция
как же бесит этот веб макакский термин!
какой чувствительный мальчик. Забугорное слово "transpiler" использовалось в литературе, связанной с тогдашним IT, уже в 80-90 годах (если не раньше). Твои родители тогда хотя бы школу окончили?
Как же бесят категоричные безапеляционные неучи
Опа, еще один! Скоро этих языков будет как грязи))
Только один момент: кто все это изучать-то будет??
Современные быдлокодеры-попсовики? Да не смешите меня, они ничего не знают и не умеют, петон и "веб-программирование" их предел. И я не стану, мне и Perl достаточно.
> Опа, еще один! Скоро этих языков будет как грязи))Учитывая, что Nim-у уже лет 12 -- у кого-то сбоит криокамера.
> уже лет 12ваще не показатель. С твоих слов тогда все на коболе должны писать.
>> уже лет 12
> ваще не показатель.Ну да, для Маклаудов 12 лет не срок -- "опа, еще один".
> С твоих слов тогда все на коболе должны писать.Наш диалог в твоей голове я, к сожалению, сначала слушал без должного внимания, а потом еще и начисто забыл. Увы :(
а вдруг выстрелит? Все такие хопа и побежали всё переписывать на ним.Хотя нет
Будь у них за спиной кто-то вроде гугла, может могло бы и получиться (как с петоном).
Проблема в том, что уже есть Петон и как показала практика какой-то Руби даже не усидел, а тут и того хлеще какой-то дикий никм не пользованный новый язычек - ладно там питон бы транслировал в каое-то предсатвление на си но свой собственный синтаксис и набор костыльных рантаймов и на кой его мне использовать и как обосновать начальству что мы взяли какое-то студенческое поделие хер знает какого качества - чувак просто витает в облаках
> какой-то РубиДа, он именно такой, "какой-то"))
> как обосновать начальству ..
Был бы вокруг хайп как с растом - ничего и обосновывать не потребовалось бы. Увы, все работает именно так..
> Был бы вокруг хайп как с растом - ничего и обосновывать не
> потребовалось бы. Увы, все работает именно так..Всё правильно, хорошему языку много внимания.
Ним для узких мест. Пока они у тебя не появятся тебе не надо.
> ... ладно там питон бы транслировал в каое-то предсатвление на сиА питон ровно это и делает. На 90% питоньи модули --- это обёртка
над сишными библиотеками.
> Будь у них за спиной кто-то вроде гугла, может могло бы и получиться (как с петоном).Питон стал популярным еще до того как Гвидо устроился в гугл. Учи историю.
Есть у них за спиной одна русская компания, не гугл, конечно, но лучше бы не было^W^W^W, чем ничего
> а вдруг выстрелит?Только если себе в ногу.
> И я не стану, мне и Perl достаточно.Этим ты все сказал. Когда вижу, что в коде кто-то perlнул - хочу убивать. Убогейшее поделие от церковного литерала.
Не осилил? Тут же банальная психология, а у среднего анонима она убожески простая.
>а у среднего анонима она убожески простая.Оно, оно. Ты еще портреты Путина и Трампа себе на шею повесь, чтобы подчеркнуть свою архиважность. Тогда однозначно никто не перепутает со средним анонимом.
> Не осилил?По теме нечего возразить раз кукарекаешь? Ты пади сисьадмин, затыкаешь своими чудо простынями все текучести. Обычно только они (и старперы) за него заступаются.
> Этим ты все сказал. Когда вижу, что в коде кто-то perlнул -
> хочу убивать. Убогейшее поделие от церковного литерала.Perl был основным языком Web-программирования до появления PHP. PHP это по сути Perl для неквалифицированных программистов. Оных гораздо больше и как следствие перловики на их фоне теряются.
> они ничего не знают и не умеют, петон и "веб-программирование" их предел. И я не стану, мне и Perl достаточно.Как будто перл показатель более высокого уровня. Моё негативное отношение к перл сложилось после нескольких эпизодов ковыряния в перлосорцах. Там было ТАКОЕ... Я подобного уровня быдлокод видел только в древних сишных сорцах под дос. А, и в паскалевских тоже бывало. У меня вообще сложилось впечатление что на перле пишут по принципу слепить как получится, и пинать потом до тех пор, пока не заработает. Я видел что и как психологи пишут на пайтоне, и у них получается лучше, чем то, что я видел на перле. У меня опыт столкновений с перлом ограничен и, может, мне просто "повезло" наткнутся на самые худшие примеры?
Психиатру все это расскажи. Задолбал своими простынями.
> Психиатру все это расскажи. Задолбал своими простынями.Если тебя задолбали простыни, и ты не можешь прекратить их читать, то проблема на твоём конце провода. Это какой-то глубинный конфликт между Суперэго и Ид, причём, судя по всему, происходящий где-то в недрах предсознания. Тебе следует обратиться к специалисту, но не к психиатру -- психитры по большей части склонны прописывать таблетки, которые не помогают от конфликтов, они в лучшем случае могут снять симптомы, точнее заменить одни симптомы другими. Тебе следует обратиться к психологу, лучше к когнитивно-бихевиоральному или, на-крайняк, к психоаналитику. Они помогут вскрыть суть конфликта и разрешить его. Возможно в процессе вы с психологом найдёте и другие конфликты, и в целом ты выйдешь с психотерапии гораздо более гармоничной личностью. Достижение нирваны маловероятно, но если тебе захочется, ты можешь попробовать затем окунуться в экзистенциальную психотерапию или в буддизм. Можно и в вещества окунутся, но это примерно то же, что и психиатр вместо психолога -- симптомы погружения в нирвану появятся, но заодно появятся и побочные симптомы, типа сломанной шеи от того, что ты вышел в окно с девятого этажа. Чисто гипотетически буддизм можно заменить христианством, но христианские практики строятся вокруг догм, которые менее совместимы с научным мировоззрением, и я не уверен, что удастся совмещая одно с другим достигнуть нирваны. Впрочем, от научного мировоззрения можно и отказаться ради такого.
Ребята, не стоит вскрывать эту тему, вы молодые, шутливые, вам легко...
У него проблема с гойловой. лучше поменьше обращать внимание. Всё как в жизни - сидит старый пердун на лавочке и что-то своё бубнит непрерывно - тебе какая печаль?
> У меня вообще сложилось впечатление что на перле пишут по принципу слепить как получится, и пинать потом до тех пор, пока не заработает.Просто забили на рефакторинг. Ну а так-то да, это не тот язык, где за малейшее отступление от канонов сразу получаешь по рукам, что и поощряет некоторых к раздолбайству. Только в этом случае проблема не с языком, а с кодерами ;)
> Только в этом случае проблема не с языком, а с кодерами ;)Да, мы и говорим о кодерах, а не о языках. Ты с самого начала заявил, что кодеры на перле лучше, чем "быдлокодеры-попсовики" на пайтоне, а я поставил это под сомнение, потому что мой ограниченный опыт говорит об обратном.
Ну нет! Было написано "мне достаточно" - а я ваще не кодер, а просто интересующийся.
>Я подобного уровня быдлокод видел только в древних сишных сорцах под дос.Всё с Вами понятно. Любой сложный, запутанный, но быстрый код для Вас является быдлокодом. Видимо Ваш любимый язык Java. Красота кода зависит лишь от желания программиста. Perl очень фичастый язык, что может приводить к его не читабельности, а крупные проекты на Perl выглядят также на PHP. Зато благодаря фичам, код пишется быстрее, не плодя 100500 строк на формализм.
Почитал про Ним на википедии — ну такое... 😕
ИМХО Dlang лучше
Почему не Zig?
Язык неплох, но изучать и писать на нем я, конечно, не буду.
В debian testing обновление уже прилетело :)
> В debian testing обновление уже прилетело :)Можете приступать к тестированию!
Интересная штука. Кто-нибудь тут уже пишет на нём?
Язык системного программирования - С. Достаточно.
Мало сахара.
От большого кол-ва сахара бывает плохо, диабет, например.
> От большого кол-ва сахара бывает плохо, диабет, например.Влияние сахара на развитие сд несколько под вопросом. Это ж сколько сахара надо есть. Куда вероятней генетическая предрасположенность и транс жиры (помимо очевидного, вроде ожирения).
Это в Си мало сахара?! Диабет детектед.
>Исходный код на языке Nim компилируется в представление на C, C++ или JavaScript.Это просто замечательно что трансляция из яп в яп больше не нужна,сращу берём и компилируем. Как бы уровень новости намекает.
Честно, основной стопор у меня: регистронезависимые идентификаторы с игнорируемыми подчеркиваниями.Ну кто в своем уме в наше время станет придумывать язык, по исходникам которого так просто не погрепаешь? Идиотизм.
Минусовать язык программирования! Кто тратит своё время на создания нового ЯП, и вы вместо того чтобы похвалиь, критикуете. Вы это чего?
> Кто тратит своё время на создания нового ЯПА смысл? Вместо того, чтобы подключиться к уже существующим хорошо разработанным языкам, заниматься изобретением своего плохинького? И за это плюсовать?
Ni!
Достаточно в Паскале begin-end- ы заменить отступами и получится хоть Nim, хоть Python. Делов то. Остальное сахар.
Не надо трогать begin-end. Они есть в половине современных ЯП. Проще питон выбросить и забыть как реальный пережиток прошлого.
если не трогать, то придётся выбросить вашу половину "современных" ЯП
Что же тогда останется, если begin-end выбросить?.....
Типы данных, условные переходы, циклы, процедуры, модули. Остальное лишнее.
Как ассемлерщик скажу. условные переходы, циклы - надо. Типы данных, процедуры, модули - лишний сахар.