Форум программистов, компьютерный форум, киберфорум
Наши страницы
Другие языки программирования
Войти
Регистрация
Восстановить пароль
 
 
ArmanHayots
0 / 0 / 0
Регистрация: 18.10.2017
Сообщений: 13
#1

Язык O/O++ - Программирование

19.10.2017, 01:35. Просмотров 706. Ответов 30

Скучное предисловие: Год назад, скажи мне кто, что я вдруг займусь новым браузером ОС языком программирования — покрутил бы виском, ибо считал, что всё что нужно уже в принципе есть.
Полтора года назад здоровье вынудило покинуть полноценную работу, и я решил потратить время на восстановление утраченных и недополученных знаний по нативному программированию, которое в моём случае было жутко атрофировано из-за многолетнего увлечения дотнетом и вынужденной работой с жабоскриптом (не спешите бежать на кухню за мылом, я не нодер!).
На руках оказались бумажные книги по С/С++ (правда, по довольно старым стандартам), которые худо-бедно были освоены. На очереди ассемблер, хотя бы базис — принципы в теории понятны, но код всё ещё выглядит как «что, думаешь слишком для меня умный?». Гением я и раньше не был, страшно обожал хитрые велосипеды, чистый код, модульность и ненавидел создание шаблонного кода по методичке — но вот после больницы (может из-за наркоза?) голова стала ощутимо туже соображать и всё даётся труднее, но ассемблер нужен — чтобы банально отладкой заниматься (не то чтобы я ею часто занимался…) и понимать, что вообще происходит.

http://www.cyberforum.ru/other-lang/thread1646597.html
Так вот, к делу. Изучая си и кресты, я всё больше проникался их идеями — минимальные накладные расходы и при этом кроссплатформа и высокий уровень. Одно зудело — местами странный синтаксис (ну ещё и несовместимость С++ ABI), явно не подходящая лаконичному языку многословность и ещё парочка-другая мелких неудобств. Ооокей, я могу четверть решить макросами, ещё столько же в теории возьмёт простой препроцессор, но всё равно нужны глубокий анализ и разбор типов.

И тут я понял, что мне всего-то нужно исправить синтаксис языка — да, так мало. Но назвать это новыми C/C++ нельзя — совместимость, легаси, овощи, рожь вот это вот всё. Откуда столько шероховатостей в языке? — подумал я. Видимо, сказывается наследие — ведь когда-то был первый C (который K&R), выросший, по сути, из макроязыка для ассемблера. Другие времена, другие требования. И С был макроязыком, и C++ начинался как «С с классами» — нечто, тоже компилирующееся в С. Так может нужен новый уровень абстракции — но именно в таком ключе, чтобы без лишнего кода на выходе? Нужен новый язык, — решил я, — и пусть он будет компилироваться в С/С++.

Сразу будет убита пачка зайцев:
  • Нет нужды создавать с нуля язык, библиотеки, окружение и инструменты
  • Не нужно будет переписывать старый код
  • Старые либы и заголовки также спокойно работают с новым кодом
  • При этом новый язык может быть каким угодно, можно сделать всё максимально compile-time и прозрачным
  • Старые либы и заголовки также спокойно работают
  • Никаких виртуальных машин и сред не нужно
  • Старый код может использовать код на новом языке

И я дал этому языку название — O/O++. Соответственно O будет расширенным C, а О++ — расширенным С++. Подчеркну ещё раз, что мне, несмотря на все недостатки, очень нравятся С/С++ и новый язык должен быть хотя бы не хуже, и при этом оставаться понятным С/С++ разработчикам.

Нужно броситься писать реализацию? Нет, подумал я, ведь не компилятор создаю, а (пафос) АЖ ЯЗЫК ПРОГРАММИРОВАНИЯ.
Первое правило лени гласит, что лучше сделать ничего, но хорошо, чем что-то, но не очень. Что отличает серьёзные вещи от детских? Правильно — бумажка. Документ, RFC, спецификация, даташит — результат строгого проектирования.
Очевидно, что периодически будут требоваться новые вещи, а если языку угрожает какая-либо популярность, то будут альтернативные реализации, тоже по-своему кривые. Значит, нужно чётко поставить и оформить задачу, а для этого нужна сила коллективного планетарного разума, т.е. мнение таких же обычных разработчиком из межсети, ведь не может быть так, чтобы у меня одного чесался зуб кое-что исправить.

Сделал две вещи. Во-первых, создал на bitbucket(выбран из-за возможности хостить hg и более адекватной политики, нежели у конкурентов) репозиторий. Он прост — в корне, помимо readme, лежит файл olang.txt непосредственно для спецификации языка, а также находится папка chalkboard, куда в формате txt или md складываются отдельные предложения.
Прелесть такого подхода в том, что репозиторий обеспечивает ревизии, контроль и площадку для основного обсуждения, а разделение на отдельные черновые пункты и основной документ позволяет аккуратнее всё проработать. Правила внесения предложений и изменений в целом есть в описании репозитория, но вы также можете писать мне свои мысли любым удобным способом — даже здесь или бумажной почтой (может не дойти и не обещаю, что отвечу). Это очень важно, поскольку язык делается для разработчиков, а не для манагеров и красивых отчётов — а значит, всё серьёзно.

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


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

1. Укороченные имена некоторых встроенных типов — например uchar вместо unsigned char или udlong вместо unsigned long long.
2. Адекватные указатели на функции —
C++
1
(bool:int,int) * comparer
вместо
C++
1
bool (*comparer) (int,int)
.
3. Возможность дёргать операторы прямо из стрелочного разыменования —
C++
1
x->++
,
C++
1
x->()
и т.д.
4. Исправленный синтаксис для массивов —
C++
1
char[10] a
вместо
C++
1
char a[10]
(ещё лучше стало с указателями).

Остальные можно посмотреть в chalkboard.

Можете добавлять, можете исправлять, можете ругать и обсуждать, но самое главное — спросите мнения друзей и коллег, может им будет интересно принять участие. Что будет в документе — а значит и в реализациях — решать всем вместе.

Смело задавайте вопросы.

P.S. Вот тебе и хобби.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2017, 01:35
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Язык O/O++ (Программирование):

Определить язык
Всем привет , ребят есть код . SUB Create() With rsMain .Edit ...

Язык программирования РС/Б
На страничке http://www.rs-b.nm.ru можно скачить компилятор (написаный...

Символьный язык программирования
Символьный язык программирования. Преамбула. В этом маленьком...

Tex и русский язык
Я новичок в LaTeX(2 дня). У меня стоит Linux Mint 10 на английском. ...

Язык программирования Pike
Пайк (англ. Pike — «щука») — динамический интерпретируемый...

30
korvin_
2092 / 1583 / 307
Регистрация: 28.04.2012
Сообщений: 5,709
24.10.2017, 19:10 #21
Цитата Сообщение от ArmanHayots Посмотреть сообщение
По факту взлетели лишь специфичные языки,, привязанные к каким-либо конкретным средам, сферам или задачам.
Это какие, например? Java? C#?

Цитата Сообщение от ArmanHayots Посмотреть сообщение
Скорее потому, что очередной недо-C# мало кому нужен.
D не позиционировался как недо-C#, исключительно как (C++)++, каковым и пытался являться, но никому не нужно.

Цитата Сообщение от ArmanHayots Посмотреть сообщение
Речь об улучшении С++
Для этого есть Комитет.

Добавлено через 2 минуты
Цитата Сообщение от ArmanHayots Посмотреть сообщение
привязанные к каким-либо конкретным средам, сферам или задачам.
И как будто это что-то плохое. Все уже давно поняли, что швейцарский нож сейчас никому не нужен.
0
Matan!
Delphi/Java/DB Dev + Math
395 / 264 / 112
Регистрация: 31.05.2013
Сообщений: 2,161
Записей в блоге: 4
Завершенные тесты: 2
25.10.2017, 08:24 #22
Цитата Сообщение от ArmanHayots Посмотреть сообщение
Только почему-то вместо конкретных предложений я получаю или вопросы вида
Тогда вот предложение. Почему бы вместо отдельного языка(к которому нужен ещё свой компилятор и своя IDE), не написать фреймворк? Вы можете внедрять его в IDE для С/С++. Единственное - надо будет написать некий переход, чтобы существующие компиляторы Вас понимали.
0
andyj
100 / 47 / 9
Регистрация: 16.03.2017
Сообщений: 605
25.10.2017, 17:17 #23
Цитата Сообщение от korvin_ Посмотреть сообщение
>>По факту взлетели лишь специфичные языки,, привязанные к каким-либо конкретным средам, сферам или задачам.
Это какие, например? Java? C#?
Objectiv-C, kotlin, 1C, VBA, FoxPro...

p.s. Java тоже (где-то читал) изначально был "специфичные языки,, привязанные к каким-либо конкретным средам, сферам или задачам". Его придумали "на коленке" для "настройки серверов SUN" маленьким отделом... Это потом его сделали "универсальным".
1
ArmanHayots
0 / 0 / 0
Регистрация: 18.10.2017
Сообщений: 13
26.10.2017, 03:01  [ТС] #24
Цитата Сообщение от korvin_ Посмотреть сообщение
Java?
Предназначен для JVM.

Цитата Сообщение от korvin_ Посмотреть сообщение
C#
Предназначен для .NET.

Цитата Сообщение от korvin_ Посмотреть сообщение
D не позиционировался как недо-C#
Но получился именно таким.

Цитата Сообщение от korvin_ Посмотреть сообщение
Для этого есть Комитет.
Который не может сломать обратную совместимость, да и не должен.

Цитата Сообщение от korvin_ Посмотреть сообщение
швейцарский нож сейчас никому не нужен
Перегибаете. Си и кресты тяжело заменить — это примерно как пытаться заменить обычный экскаватор: на выбор или совочки, или «шагающие» гиганты.

Цитата Сообщение от Matan! Посмотреть сообщение
Тогда вот предложение. Почему бы вместо отдельного языка(к которому нужен ещё свой компилятор и своя IDE), не написать фреймворк? Вы можете внедрять его в IDE для С/С++. Единственное - надо будет написать некий переход, чтобы существующие компиляторы Вас понимали.
Целью О/О++ является язык, который на выходе преобразуется в С/С++, т.е. требуется лишь транслятор-препроцессор да корректировка имеющихся правил для подсветки синтаксиса, если это нужно. Так себе предложение, хилое.
0
andyj
100 / 47 / 9
Регистрация: 16.03.2017
Сообщений: 605
26.10.2017, 05:40 #25
Цитата Сообщение от ArmanHayots Посмотреть сообщение
Java?
Предназначен для JVM.
C#
Предназначен для .NET.
IMHO вы не правы! Путаете причину и следствие... JVM и .NET это "часть языка адаптируемая под ОС", а не "предназначение языка". Предназначение - это "сфера решаемых задач"! Например это точно не сложные 3Д игрушки под мощную видеокарту...

Цитата Сообщение от ArmanHayots Посмотреть сообщение
Целью О/О++ является язык, который на выходе преобразуется в С/С++, т.е. требуется лишь транслятор-препроцессор да корректировка имеющихся правил для подсветки синтаксиса, если это нужно. Так себе предложение, хилое.
Круто конечно, но...

1) это все равно НОВЫЙ ЯЗЫК! Который надо учить. Это стандартный набор проблем - необходимость затратить свободное время и полная несовместимость с другими разработчиками и своими старыми проектами.

2) А еще надо писать новую IDE или плагин под существующие для синтаксиса. Вы готовы предоставить этот плагин? Или IDE? Или надеетесь что мы (потенциальные пользователи языка) напишем его позднее, а пока обойдемся простым текстовым редактором?

...Фреймворк изучается "по ходу работы", в "готовых проектах". Можно для начала "Just for fan" использовать в большом проекте для небольшого редкого функционала (редкой настройки в админке) чтобы оценить преимущества работы. Можно "допиливать" сообществом. Главное преимущество - (IMHO) не надо ПОЛНОСТЬЮ переходить на другой язык, что всегда БОЛЕЗНЕННО!

Добавлено через 15 минут
Цитата Сообщение от ArmanHayots Посмотреть сообщение
швейцарский нож сейчас никому не нужен
Перегибаете. Си и кресты тяжело заменить — это примерно как пытаться заменить обычный экскаватор: на выбор или совочки, или «шагающие» гиганты.
Назовете языки-"швейцарские ножи" созданные за последние 5-10 лет?
В основном это "старички" - С++, ASM, Java, JavaScript (и еще возможно 2-3) которые получают С ГОДАМИ все больше применений благодаря многолетнему опыту их знатоков.

Например если я 10 лет работаю на JavaScript, то почему бы на нем не попробовать написать 3Д игрушку?
Или мне его очень не хватает для написания простых утилит вроде Bush для автоматизации рутинных операций с файлами? Или мне нужен серверный вариант для создания простых сокетов для моих-же javasript-клиентов. И поэтому появляется Node... Которая много лет сидит в разделе JustForFun для фанатов. Недоработанная, кривая, но уже кое-на-что-способная. Сейчас, когда она начала приобретать популярность, появилась реализация для "окошечных" программ на той-же JavaScript - еще через 5-10 лет возможно появятся полноценные мультиос-программы с формами как замена Java.
Это был пример превращения кривого языка для "смены цвета кнопки в браузере" в "швейцарский нож".
0
Matan!
Delphi/Java/DB Dev + Math
395 / 264 / 112
Регистрация: 31.05.2013
Сообщений: 2,161
Записей в блоге: 4
Завершенные тесты: 2
26.10.2017, 08:30 #26
Цитата Сообщение от ArmanHayots Посмотреть сообщение
Целью О/О++ является язык, который на выходе преобразуется в С/С++, т.е. требуется лишь транслятор-препроцессор да корректировка имеющихся правил для подсветки синтаксиса, если это нужно. Так себе предложение, хилое.
Это и является фреймворком. Касательно подсветки. Копайте в сторону Resharper. Там классная подсветка, тема и ещё несколько полезных и просто приятных моментов.

Как я и говорил, Вам предстоит огромная работа. В основном с построением правил для препроцессора. Замена названий ключевых слов - ерунда, ради этого многие даже заморачиваться не станут. А вот над принципиально новыми вещами Вам придётся пропотеть.
0
andyj
100 / 47 / 9
Регистрация: 16.03.2017
Сообщений: 605
26.10.2017, 12:39 #27

Не по теме:

эх... раздразнили...
В свободное время пытаюсь реанимировать свой язык программирования... узкоспециализированный транслятор, встраиваемый в другие программы (там где не нужно больше 10-30 строк кода).
Поэтому между решением мелких проблем типа "как бы удобнее устроить хранение переменных" решил погуглить теорию.


Нашел интересную статейку: https://habrahabr.ru/company/wrike/blog/323550/
0
ArmanHayots
0 / 0 / 0
Регистрация: 18.10.2017
Сообщений: 13
27.10.2017, 17:23  [ТС] #28
Цитата Сообщение от andyj Посмотреть сообщение
JVM и .NET это "часть языка адаптируемая под ОС"
Цитата Сообщение от andyj Посмотреть сообщение
это все равно НОВЫЙ ЯЗЫК! Который надо учить
Цитата Сообщение от andyj Посмотреть сообщение
А еще надо писать новую IDE или плагин под существующие для синтаксиса
Цитата Сообщение от andyj Посмотреть сообщение
Или надеетесь что мы (потенциальные пользователи языка) напишем его позднее, а пока обойдемся простым текстовым редактором?
Да бросьте, я что, на хабр попал? Откуда столько непрофессионализма, невнимательности и занудства? Может я и сделал глупость, решив спросить сетевое сообщество, но во всём остальном я уверен. Какие инструменты, какие вам плюшки, какой новый язык — очнитесь, речь о небольших изменениях в синтаксисе плюсов, причём всё поверхностное и изначально более адекватное. Учить надо различия между разными стандартами, а здесь лишь пара-другая мелких предложений, да и те все — черновые.

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

Цитата Сообщение от andyj Посмотреть сообщение
Например если я 10 лет работаю на JavaScript,
А, вот оно что. Рекомендую вам этим предложением начинать все свои высказывания — сильно упростит жизнь окружающим.

Цитата Сообщение от Matan! Посмотреть сообщение
Это и является фреймворком.
Т.е. С++(ну, тот, самый первый) — это фреймворк для С, а С — фреймворк для ассемблера, а ассемблер... Какая жаба вас-то укусила? Не стоит бросаться модными

Цитата Сообщение от Matan! Посмотреть сообщение
Вам предстоит огромная работа.
Несомненно. Только вот беда — нужно сперва выработать документ. Стандарт. Банальную бумажку, отличающую серьёзные вещи от вещей несерьёзных. Что-то, на что можно будет опираться. А стандарта «Только мои хотелки», одобри его хоть ISO, мне не надо. Нужно мнение всех и каждого — только адекватное, пожалуйста.

Цитата Сообщение от Matan! Посмотреть сообщение
Копайте в сторону Resharper. Там классная подсветка, тема и ещё несколько полезных и просто приятных моментов.
Лечение алкоголизма наркоманией? Спасибо, воздержусь.
0
andyj
100 / 47 / 9
Регистрация: 16.03.2017
Сообщений: 605
28.10.2017, 01:19 #29
Цитата Сообщение от ArmanHayots Посмотреть сообщение
Да бросьте, я что, на хабр попал? Откуда столько непрофессионализма, невнимательности и занудства?
полегче...
я смотрю на язык не с точки зрения его удобства, теории или правильности терминов! Я смотрю на него со стороны "школьника", который собирается его учить и пытается понять с чем ему предстоит работать... Когда он выясняет что ему нужно для работы его HelloWord выясняется что для Java необходима "машина" под его Windows, а без него никак... то-же и с .NET. И с точки зрения "заказчика" которому нужна программа - ему плевать на инструменты которыми пользуется программист, но он знает что без скачивания 1-2гб .net он не сможет запустить программку-калькулятор в 100 кб. Или без скачивания JVM на 200Мб не запустить клиент-банк на java... для них это часть языка!

Цитата Сообщение от ArmanHayots Посмотреть сообщение
Какие инструменты, какие вам плюшки, какой новый язык — очнитесь, речь о небольших изменениях в синтаксисе плюсов, причём всё поверхностное и изначально более адекватное. Учить надо различия между разными стандартами, а здесь лишь пара-другая мелких предложений, да и те все — черновые.
Я может плохо понял, но вы вроде говорили что пишете свой "полноценный" ЯЗЫК. Со своим компилятором! И без IDE. Тоесть (поправьте меня) все стандартные/привычные инструменты профи в С++ надо отложить подальше... речь не о библиотеках, а о редакторе (с менеджером переменных, классов, функций в отдельном окошке) и дебюгере (отладчике, который может остановить код на нужной точке, посмотреть стек переменных, построчное выполнение)

Цитата Сообщение от ArmanHayots Посмотреть сообщение
Вы из того, что новых «универсальных» языков не появилось почему-то сделали вывод, что и никогда не будет, ибо не нужно, хотя ситуация иная — просто имеющиеся языки хорошо делают свою работу и проще их допилить, чем переизобрести.
Опять-же... я не помню случаев в истории языков, когда подобное происходило без боли! Я долго работал в Делфи и помню чего стоило переписать проект с Делфи3 на Делфи 7 когда внедрили Unicode и вся работа строк в файлах накрылась - перевести крупный проект занимало до полу года ТОЛЬКО на исправление конфликтов. Я знаю проект в Java6 которую переводили на Java8 - тоже было много боли... хотя разница была минимальная! А вы предлагаете (если я правильно понял) отказаться от C++ в пользу О++ только ради "плюшек и сахара".
Я сужу лишь по истории! За последнее время самым "активным" из новых "универсальных" языков я помню лишь GO, но популярность все еще слабая (бум закочнился, а сообщество не получило критической массы для самоподдержания развития) не смотря на активную поддержку самого Гугла! Да и кому нужны сейчас "универсалы"??? Даже выбирая автомобиль вы не планируете на нем одновременно и девушек соблазнять, и картошку с дачи возить, и в болотных гонках учавствовать... Даже С++ сейчас уже начинает "специализироваться". Почему же Вы пытаетесь сразу "покуситься" на лавры "универсала"?

Не по теме:

Цитата Сообщение от ArmanHayots Посмотреть сообщение
Например если я 10 лет работаю на JavaScript,
А, вот оно что. Рекомендую вам этим предложением начинать все свои высказывания — сильно упростит жизнь окружающим.
опять-же ПОЛЕГЧЕ! (попахивает оскорблением - переходите на личности) 1) я написал "НАПРИМЕР"! Я знаю JS и долго в нем работал по мелочи, но это не мой язык. Я изучил так-же основы NodeJS и даже кое-что на нем написал. Достаточно для того чтобы знать ИСТОРИЮ этого языка - я видел как он впервые внедрялся еще в IE и что из себя представлял. 2) не надо "священных воин"! Это ОЧЕНЬ популярный язык с огромным сообществом и кучей фреймворков. У него своя ниша и кое-где он уже занимает нишу ранее доступную C++ (3D игры).



Цитата Сообщение от ArmanHayots Посмотреть сообщение
Т.е. С++(ну, тот, самый первый) — это фреймворк для С, а С — фреймворк для ассемблера, а ассемблер... Какая жаба вас-то укусила? Не стоит бросаться модными
Подучите терминологию! Фреймворк не имеет своих компиляторов! С++ это полноценный язык основанный на С, как и С это язык основанный на ассемблере. И у них огромные сообщества... и у каждого из этих языков есть СВОЯ НИША! Так и Javа можно назвать фреймворком к С++? Через все эти языки можно провести "прямую на графике" сложности! Более высокий и более низкий язык... ближе к процессору и командам ядра и максимально удаленные от него....

Цитата Сообщение от ArmanHayots Посмотреть сообщение
Нужно мнение всех и каждого — только адекватное, пожалуйста.
А какое мнение вы ждете??? "Удобно ли на подобном работать?" или "хотели бы бросить С++ и перейти на О++ когда я его допишу?" ...я думаю вы и сами знаете ответы...
Озвучьте сначала ваше представление о том кому этот язык нужен/полезен/ценен! Какого вида программы на нем удобно писать? кроме helloWord и школьных задачек по циклам... (почему-то 99% изобретателей языков обычно на этом останавливаются).

p.s. C++ не мой язык. Поэтому мне тяжело оценить достоинства ваших модификаций. Хотя я выучил его основы в достаточной мере чтобы написать несколько библиотек к андроиду и несколько консольных утилит. Но когда я его учил, я переходил на него с Делфи! И, помню, сильно матюкался не соответствием привычным begin/end и другим мелочам... Помню что кто-то из профи мне объяснил что С++ настолько гибкий, что небольшими манипуляциями в подключаемой библиотеке можно превратить {} в begin end... Может и "сахар" вашего языка можно воплотить в виде подобных библиотек прямо в С++?
1
Matan!
Delphi/Java/DB Dev + Math
395 / 264 / 112
Регистрация: 31.05.2013
Сообщений: 2,161
Записей в блоге: 4
Завершенные тесты: 2
30.10.2017, 09:34 #30
Цитата Сообщение от andyj Посмотреть сообщение
небольшими манипуляциями в подключаемой библиотеке можно превратить {} в begin end
Можно и через директиву #define.(простите за занудство)

andyj прав, фразочки типа
Цитата Сообщение от ArmanHayots Посмотреть сообщение
речь о небольших изменениях в синтаксисе плюсов
не прокатят. Стандарт для С/С++ строго регламентирует типы, а Вы их-то как раз и хотите изменить.

Цитата Сообщение от andyj Посмотреть сообщение
Озвучьте сначала ваше представление о том кому этот язык нужен/полезен/ценен!
+100500
А перед этим напишите, что это вообще будет за язык.
Кстати, то, что Вы написали в своём Стандарте, можно спокойно через ту же директиву #define сделать. В отдельном h-файле.

Не по теме:

Цитата Сообщение от ArmanHayots Посмотреть сообщение
Т.е. С++(ну, тот, самый первый) — это фреймворк для С, а С — фреймворк для ассемблера, а ассемблер... Какая жаба вас-то укусила? Не стоит бросаться модными
Это какая жаба Вас укусила? Я этого не писал, и чушь на мой счёт не надо заказывать.

0
andyj
100 / 47 / 9
Регистрация: 16.03.2017
Сообщений: 605
31.10.2017, 11:16 #31
Цитата Сообщение от Matan! Посмотреть сообщение
Можно и через директиву #define.(простите за занудство)
Цитата Сообщение от Matan! Посмотреть сообщение
Кстати, то, что Вы написали в своём Стандарте, можно спокойно через ту же директиву #define сделать. В отдельном h-файле.
я про них и говорил! Возможно подобными директивами и многое другое упростить можно, добавив "сахара".
И тогда язык превратится в фреймворк, который упростит кому-нибудь жизнь...

...а это уже не новый язык, а фреймворк (аналог "диалекта"/"говора"/"акцента" в разговорном). Недавно узнал что Котлин(новый язык Гугла для андроида) успешно уживается вместе с Java в отдном проекте - часть кода/модуль можно на одном языке написать, а другую на другом...

Не по теме:

изучая С++ я в свое время отказался от подобного! Хоть Делфи на тот момент был на порядок привычнее(для меня), но есть еще и СТАНДАРТ! Который поддерживается Сообществом(форумы, статьи, чаты, гитхаб-коды/примеры). А значит все хелпы и все вопросы-ответы должны быть на понятном для Сообщества языке! Но с фреймворком есть больше шансов что ваши модификации понравятся сообществу и станут "must have" в любом приличном проекте... или даже познее вольются в "стандартную сборку" компиляторов.


p.s. я НЕ против новых языков!!! (сам свой язык изобретаю с перерывами уже >10 лет и аналогов пока не вижу) Просто выработал для себя правила:

1) язык не должен быть "универсальным" или в лучшем случае пополнит огромную коллекцию языков-фриков (http://ordinatus.ru/10-samyx-strannyx-yazykov-programmirovaniya/) или навсегда останется "курсовой работой". Сейчас мир фреймворков!
...Java Core занимает меньше 5% от знания программирования андроида и столько-же от знания Spring - от его "универсальности" уже ничего не осталось. Та-же ситуация и в С++. Я выучил ядро C++ и научился писать простые программы и понял что это мне не дает знания Qt или VC++ для написания "окошечных программ".

2) язык должен быть узкоспециализированным и быть ВСТРОЕННЫМ в среду(bash, андроид), программу(1C, фотошоп, корел, маткад) или устройство(чип/робот/кофеварка)! Тогда его будут ВЫНУЖДЕНЫ изучать вместе с окружением. Иначе возникает резонный вопрос "зачем мне учить язык, который никому не нужен и на котором я не смогу заработать или даже облегчить свою работу". (только потому что он проще/удобнее остальных не рождает фанатов, если результат работы языка никому кроме фанатов не нужен)

3) язык не должен сильно нарушать общепринятые нормы ломая сознание программистов! Иначе от него отвернется любое сообщество уже имеещее опыт работы в других языках. Вернее нарушение норм возможно, но "не всех сразу". (мой язык активно использует оператор goto, "от которого отказались все современные программисты", но кроме этого вполне похож на известные языки).

4) язык не должен быть на 99% похожим на другой. Иначе нет смысла создавать клон, с которым будут путаться, возвращаясь к более популярному! (вы изначально ставите себя в проигрышную позицию). Исключение - бесплатный аналог платного языка (Лазарус vs Delphi).

5) создание Сообщества будет ЦЕЛИКОМ на изобретателе языка! Форум, ответы на вопросы, начальное исправление ошибок, примеры, хелпы, учебники...

Добавлено через 16 часов 9 минут
...забыл в 4) добавить "исключение №2 - смена специализации (javascript vs NodeJS)"
0
31.10.2017, 11:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.10.2017, 11:16
Привет! Вот еще темы с решениями:

Язык программирования GRASS
У кого-нибуть есть информация по этому языку программирования? Поисковые...

Определить язык программирования
:umnik: #!/usr/bin/env python # -*- coding: utf-8 -*- def Cord ( char )...

Icon язык программирования
кто знает, где скачать учебник по icon на русском?

Язык программирования simit
Стоит ли начинать учить не так давно разработанный язык simit? Есть ли для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
31
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru