47 / 7 / 0
Регистрация: 20.03.2015
Сообщений: 59
|
||||||
1 | ||||||
[V] Хорош ли синтаксис языка программирования V?24.03.2015, 08:17. Просмотров 51017. Ответов 80
Создаю язык программирования для CGI и текстовых терминалов. Сайт www.vlang.ru. Ищу конструктивную критику синтаксиса языка.
Пример:
2
|
|
24.03.2015, 08:17 | |
Выбор языка программирования Ребят, презентация нового языка программирования ObjectScript Что мне может дать знание языка Perl и чем он хорош? Ищу человека для Реализации метода изучения языка программирования Perl |
|
47 / 7 / 0
Регистрация: 20.03.2015
Сообщений: 59
|
|
26.03.2015, 20:23 [ТС] | 3 |
0
|
Антикодер
1859 / 835 / 47
Регистрация: 15.09.2012
Сообщений: 2,977
|
|
26.03.2015, 21:47 | 4 |
например, как haskell привязан к математическому смыслу функций.
Лично я бы ввёл в синтаксис языка программирования все мат значки из юникода. Но это спорный и маловажный вопрос. Насколько, я понимаю хорошие языки программирования получались у людей, которые хорошо овладели какой либо математичекой областью и работали над проблемами как то связанными с ИИ. А вашу задачу лучше перевести в плоскость переводчика с русского языка на какой либо другой высокоуровневый язык программирования. Если вы не предлагаете новых концепций программирования. Я сам люблю русский язык, но из синтаксиса языка программирования я бы выкидывал и русский и англ язык.
1
|
47 / 7 / 0
Регистрация: 20.03.2015
Сообщений: 59
|
|
27.03.2015, 20:32 [ТС] | 5 |
мысль понятна, но я вас огорчу - уже любой математический значок из UTF-16 может быть оператором в V.
Таки есть и для вас вариант со значками вместо русских слов. А вот тройной диспетчеризации вызова интерфейсной функции мало где еще есть.
0
|
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,354
|
|
28.03.2015, 17:57 | 6 |
Сказывается очень сильное влияние крестов (наверное одного из худших синтаксически организованных языков). Чем обусловлена кириллица? Сужением круга потенциальных взломщиков? xD Перегрузка операторов в ОО языках - вселенское зло, но это не касается синтаксиса. Все служебные термы начинаются с вопросительного знака? Читать очень тяжело. Camel/snake case это скорее для стандартных библиотек, а не ключевых выражений. Разделение функций и "операторов" на разные классы - очень сомнительно. Возврат кода завершения - прошлый век. В общем то что Вы делаете это хорошо, но Вы порядком устарели. Современные языки развиваются в декларативном русле, в том числе и статически типизируемые, компилируемые в нэйтив. У Вас что-то очень сильно напоминающее c++.
1
|
47 / 7 / 0
Регистрация: 20.03.2015
Сообщений: 59
|
|
28.03.2015, 21:56 [ТС] | 7 |
Есть также латиница и "математиница".
Можно еще собственные операторы вводить - вот где оно. С вопросительного макросы начинаются. Оператор - это функция с парой аргументов, но оператор имеет приоритет. А что return в питоне и прочей живности отменили? Да - это оно, но с наворотами. Единственное чего нет так это множественного наследования по состоянию. Но зато есть инъекция интерфейсов в ранее определенные типы.
0
|
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,354
|
||||||
28.03.2015, 22:36 | 8 | |||||
А надо ли? В чем выигрыш? Это делает невозможным полноценный вывод типов (в Вашем языке это есть?). А возможность написать x foo y вместо x.foo(y) или foo(x, y) мягко говоря сомнительное преимущество. Да и ничто не запрещает исользовать разные нотации. Вот пример
Собственно это и есть главный недостаток. Нисколько не умаляя возможностей с++ я уверенно скажу что дизайн языка один из худших. Можете поделиться источниками, по которым Вы учились проектировать языки?
0
|
Антикодер
1859 / 835 / 47
Регистрация: 15.09.2012
Сообщений: 2,977
|
|
29.03.2015, 00:22 | 9 |
Прошу пояснить след. вопросы[или написать об этом подробнее на вашем сайте]:
Что значит язык адаптирован для CGI? [плохо представляю, с чем едят CGI] На каком ЯП вы пишете ЯП? Я советую вести разработку на github-e или подобном сайте, шансы на то, что вашу идею подхватят увеличатся. А заработать на вашей идее и исходниках, без вашего согласия, вряд ли кто то сможет. Если язык уже реально хоть как то работает, то респект ![]() Думаю многие на форуме пытались написать свой ЯП, но я не видел, чтоб кому то удалось показать прототип. а они существуют? по моему есть множество описаний к ЯП, некоторые работы учёных вроде Тюринга, Чёрча Алонзо и всё :] Я советую разобраться с haskell[чем я сейчас и занимаюсь], и с Лямбда-исчислениями, чтобы понимать функциональные языки программирования. Для этого можно почитать Шевченко "O Haskell по человечески", книги Душкина Р. В., которые неявно критикует Шевченко :] поиграть в Godingame[не люблю рекламировать, но приходится] Но я не скажу, что функциональный Haskell мне более приятен, чем D[да да, если останется время - почитайте Александреску] Если видите явные ошибки в языке - переделывайте сразу, обратную совместимость лучше не поддерживать. А ещё, лично мне, интересна поддержка квантового программирования[у Душкина есть книга], логической парадигмы, для ИИ и док-ва теорем. В математике ещё можно много интересного откопать для языков программирования[или где то ещё?]
0
|
47 / 7 / 0
Регистрация: 20.03.2015
Сообщений: 59
|
||||||
29.03.2015, 10:24 [ТС] | 11 | |||||
для такого частного вырожденного случая и не нужно.
А вот для:
Добавлено через 8 минут CGI имеет свой стандарт передачи параметров для скрипта отличный от классических командных строк. Обычный не получите. Но вот необычный может быть в дальнейшем исполнен без исходных кодов в среде V. Исходники имеют ценность только для меня, а вот желающих писать на языке пока мало, что-то около 0. Он работает, но без практик не выявить всех глюков. Скачать архив со средой можно с сайта. Там много примеров. И таки поддерживается AVX. Добавлено через 53 минуты В создании нового языка есть неявные сложности. Я вот основоположил такие параметры: 1) однопроходность 2) адресонезависимость (все вызовы функций относительные) 3) русская раскладка клавиатуры затем появилось множество других желаний, но все они учитывали основоположное. книги не использовал как руководство - там много от автора и мало обоснованной теории. Но много смотрел ютуба, где наиболее активные указывают на недостатки существующих языков. если взять за основу другие параметры: 1) мощный анализ использования переменных 2) многовариантную систему хранения значений переменных 3) тотальную оптимизацию под многопоточность то возможно еще бы не получил конечного варианта языка.
1
|
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,354
|
|
29.03.2015, 22:04 | 12 |
Вы комментируйте исходник. Ничего не понятно. Уверен что с использованием конструкций let, let*, let in было бы гораздо легче понять о чем идет речь. Да и не увидел я тут явного преимущества перегрузки.
Это круто. Достойно уважения. Опишите подробней. Вы же заведомо сужаете круг своих потенциальных пользователей. И всё таки какие книги?
1
|
47 / 7 / 0
Регистрация: 20.03.2015
Сообщений: 59
|
|
30.03.2015, 09:21 [ТС] | 13 |
Это DSL основанный на SQL, но применим к спискам. В нем используются различные пользовательские операторы с разными приоритетами. оператор "from" имеет меньший приоритет чем "left" и "on". Существуют DSL только для выразительности основного участка кода.
адресонезависимость - когда генерируется машинный код или загружается из файла, то не осуществляется привязка к конкретным адресам в памяти, а они вычисляются на этапе исполнения из "смещений" относительно начала кода. Есть английские ключевые слова. Википедия - "обратная польская запись". 64-ia-32-architectures-software-developer-manual-325462 AMD64-3 - это описания наборов инструкций и множество мелкой разрозненной информации про правила существования машинного кода под Windows.
0
|
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,354
|
||||||
30.03.2015, 15:18 | 14 | |||||
И всё таки я не вижу пользы перегрузки. Нам ничего не мешает явно задать приоритеты в М-выражениях.
> Зря Вы пренебрегаете теорией. Она есть. А помимо c++ есть множество более достойных языков. Никто не сможет объяснить что здесь написано потому что контекст сущностей не очевиден. Кроме того пример загажен множеством "операторов", семантику которых надо сначала изучить в других файлах.
0
|
47 / 7 / 0
Регистрация: 20.03.2015
Сообщений: 59
|
|
30.03.2015, 20:35 [ТС] | 15 |
0
|
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,354
|
|
30.03.2015, 21:40 | 16 |
forth, scheme, ml (ocaml объектно ориентированный наследник)
0
|
47 / 7 / 0
Регистрация: 20.03.2015
Сообщений: 59
|
|
31.03.2015, 08:02 [ТС] | 17 |
Это для меня альтернативная вселенная. Я предпочитаю императивный подход с элементами функциональшины. Даже ООП в полной мере не использую - только базовые полезные свойства (наследование и интерфейсы).
0
|
47 / 7 / 0
Регистрация: 20.03.2015
Сообщений: 59
|
||||||
15.05.2015, 20:34 [ТС] | 18 | |||||
1
|
47 / 7 / 0
Регистрация: 20.03.2015
Сообщений: 59
|
||||||
15.06.2015, 07:49 [ТС] | 19 | |||||
Еще 1 пример.
1
|
47 / 7 / 0
Регистрация: 20.03.2015
Сообщений: 59
|
||||||
28.07.2015, 09:18 [ТС] | 20 | |||||
1
|
28.07.2015, 09:18 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь. Google выпустил первую версию своего языка программирования Go Синтаксис какого языка программирования наиболее читабелен? По русскому названию языка программирования определить английское название этого языка
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |