Открыть список
Как стать автором
Обновить

Комментарии 36

Зачем это тут, простите?
Данные языки разработаны для программирования микроконтроллеров и процессорной логики, так как использовать ASM — тяжело, а для C — нужны ресурсы были разработаны эти языки. Сейчас LLP используется для программирования охлаждения.
Ну я не знаю. Компиляторы для C — который суть кроссплаформенный высокоуровневый ассемблер — студенты в качестве курсовых пишут. А вот этот LLP — мало того, что синтаксис как у MUMPS (интересна, кстати обоснование для оного), так еще и отсутствуют библиотеки и люди, готовые на нем писать.
В наших тестах на используемых нами процессорах LLP дал результат быстрее чем C, и места занимает меньше, что является глобальной экономией в производстве.
Но почему такой синтаксис? Неужели нельзя использовать что-то менее страшное?
Я же написал — это низкоуровневый язык (почти). Есть его модификации и сородичи. Но как-то с такой оценкой статьи про них писать не особо хочется… Вот там синтаксис — красавица. А этот сиснтаксис — для быстродействия, компилятору не нужно самому закрывать тэги и тд.
Не бывает быстрых и медленных языков, бывают хорошие и плохие реализации. Лучше б вы бекенд для GCC или LLVM написали.
Скорее всего никому не понравиться — какая от этого выгода? OpenSource сделать невозможно так как взлом таких проектов почти всегда возможен. А скорее всего и будет — так как данный язык используется для программирования ракет, используемых Минобороны США.
Можете делать закрытый проект с бекендом — никто не заставляет открывать. Хотя этот ваш security by obscurity говорит о недостаточной квалификации программистов для ваших «Серьёзных» задач. Или задачи недостаточно серьёзные, скорее всего.

А выгода простая, причём для вас же: в случае LLVM вы получаете рабочий фронтэнд clang, кучу машинно-независимых оптимизаций и готовой инфраструктуры для быстрой реализации не только бекенда, но и ассемблера, дизассемблера и некоторых других частей тулчейна. Не нужно всё велосипедить с нуля, понимаете?
StO наша компания придерживается уже более 40 лет — то есть компания всегда использовала это правило. Мы всегда делали велосипед — почти никогда не занимались развитием сторонних проектов и не привлекали к себе инвестиций. Мы делаем то, что выгодно и то, что удобно. В результате наша компания имеет много контрактов, причем больших.

То есть вы хотите сказать, что проекты, разработки которых используются в проектах Минобороны — недостаточно серьезные? Или программисты, которые получают заработную плату минимально AU$ 12 тыс. с учетом того, что мы обеспечиваем проживание и транспорт. Или сетевые администраторы с з.п. >25 тыс.? Наверное руководство компании не просто так выбрало именно «велосипедить с нуля»?

PS: Кто-то упорно минусует мои комментарии?
Во-первых, вы сами сказали что код, который вы пишете можно взломать и закрытый код — чуть ли не единственная линия «защиты» от взлома. Не важно сколько контрактов у вас есть и сколько вы получаете — это не доказывает качетство или некачественность кода, главное как вы сами оценили свою работу.

Решение про «велосипедить с нуля» или нет должны принимать инженеры, а не руководство, и это решение должно приниматься на основе технических аргументов. Ведь может быть аргумент был «если мы только немного допилим существующий компилятор существующего языка, то как мы обоснуем милионные контракты?» Я не говорю что это именно так и было, но это тоже подходит под ваше «не с проста» и «руководство».
Немного поясню — руководство компании — это программисты/инженеры, которые работали успешно в 80-90 гг. И я тоже не говорю, что у нас не было «то как мы обоснуем миллионные контракты?». Цена разработки нового и доработки предыдущего примерно одинакова, мы решили выбрать создание нового, так как это корпоративные традиции. В результате мы получили достаточно эффективный инструмент, про который мы и хотели рассказать в данной серии статей. Это (и другие) статьи написаны не для того, чтобы показать какой классный язык и тд., а для того показать что такое есть и мы этим пользуемся.
Любопытно, как вы оцениваете эффективность.
Я, как и в общем все руководство оценивает этот проект на ноль — то есть именно он не принес никаких убытков, но и никакого чистого дохода. Но по оценкам аналитического отдела и нашего совета руководителей модификация C/C++ языков принесла бы не более плодотворный результат. Хотя в каких-нибудь проектах использование С принесло бы более плодотворный результат.
Не нужно модифицировать языки. Нужно просто написать бекэнд.

Чем больше вы пишете, тем больше у меня впечатление что вы или вообще не в теме современных подходов к разработке компиляторов или всё намеренно делали в абсолютном информационном вакууме, согласно традиции вашей компании делать велосипеды.
Под разработкой я имею ввиду не только модифицировать компилятор, а также дописать необходимый код, чтобы была возможность компилировать программу под нашими устройствами (хотя мы это и так сделали).
Не «под», а «для». И это и называется — написать бекэнд. Тот факт, что для вас слово бекэнд ничего не значит — ещё одно доказательство того, что вы не в теме.
Так я еще раз спрошу: как вы оцениваете эффективность? По каким метрикам?
Какой, простите, комментарий из 11?
> Цена разработки нового

Ага, даже не смешно. За сколько вы разработаете фронтэнд C++? Да ладно, даже чистого C11? А Clang или GCC достаются даром.
А на счет людей — у нас в компании отдел в 20 человек сидит на W.S языках, на LLP — 2 человека, занимаются именно разработкой языков типа HPL, L.Script Web
Честно говоря, выглядит отвратительно.
Once seen…
Теренс Парр сейчас тихо плачет.
закрытые языки программирование нашей компании-предшественницы

неспроста они были закрыты, неспроста…
Закрытые в смысле корпоративные, они свету, как эти, представлены не были.
А смысл? Картинку про троллейбус из хлеба постить не буду.
Программирования МК и процессорной логики очень классно на этом языке. Все что хочешь можно сделать, и выполняться оно будет быстро
Какой ужасный синтаксис
Вы упустили очень важный момент в статье. А именно мотивационную часть статьи, или по-простому «нахрена».
А по теме, я не понимаю как это может быть кроссплатформенным:
PAR(STRING[~SYSTEM:.fir>Windows:.api>win32#]); //Загружаем файл C:\Source\Windows\win32.api
Эта строка для примера (т.е. подгрузка библиотек WinAPI). Для линуха можно было и другим написать. А вообще этот язык не используется для программирования Win/Linux.
АААААААААААААААААА!!!
> make me unsee it
denied

> sudo make me unsee it
duh!
НЛО прилетело и опубликовало эту надпись здесь
А как мне написать? так, как у нас в документации, наверное (?):
Для программирования пусковых устройств для боеголовок классов 0Z, А1,B2,C3,D4
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.