![]() |
|
![]() ![]() ![]() |
|
UniBomb |
|
|||
Новичок ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: нет Всего: 97 |
Надеюсь эта тема переживёт прочтение модерации.... (это пролог)
Итак, предлагаю новичкам и середничкам объеденится в некое комьюнити для создание своего языка программирования и своего компилятора этого самого языка. Причём в целях этого проекта (а это в принципе проект) не лежит получение материальных благ, доказание всему миру своей крутости, не попытываться (блин) создать самоо лучшего в мире компилятора. А в чём же тогда смысл? Смысл есть, но о нём несколько похже. А суть проекта преследует несколько целей: - углублённое осознание "что такое компилятор" - приобретение навыка работы в команде - приобретение навыков ведения большого проекта - улучшение навыков программирования - ну и просто приятное время препровождение Это основные цели, которые лежат на поверхности, но каждый может поставить перед собой отдельные цели. А самое главное, что это проект позволит накопить столь драгоценный опыт быстрее, чем набивание однотипных программ, с разницей в пару функций. Теперь собственно о языке и компиляторе. Название ему пока придумывать не стоит, ведь ничего пока ещё не создано, для краткости навесим на него ярлык "свой". Язык изначально не подразумевается как эзотерический. Он должен отвечать неким требованиям (они подберутся, если проект не загнётся), быть вполне функционален, работоспособный. Что бы любой желающий мог сваять программу посложнее чем "Hello World!". В общем и целом думаю понятно. (на правах постскриптма) : если тема не выживет посещения модерации, но желающие появятся - стучитесь ко мне в личку... |
|||
|
||||
Sartorius |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: нет Всего: 37 |
UniBomb, а CVS - то у тя есть?
|
|||
|
||||
UniBomb |
|
|||
Новичок ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: нет Всего: 97 |
Sartorius,
если бы я знал что это... скорее всего нет... |
|||
|
||||
Artemios |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 405 Регистрация: 14.8.2006 Где: Саратов, Россия Репутация: нет Всего: 50 |
flex+byson+мануалы...
много документации по ASM-у, теории графов, формальных языков и грамматик... -------------------- fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ] |
|||
|
||||
UniBomb |
|
||||
Новичок ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: нет Всего: 97 |
Artemios,
Тот же Турбо Паскаль не сразу седьмой версией вышел. Я же не говорил, что свой язык с первой версией будет достойный ответ всему существующему... Это я к тому, что начинать надо с малого, попутно накапливая эти самые "много документации по ASM-у, теории графов, формальных языков и грамматик...". Никто не говорил, что это будет легко. Никто не говорил, что всё будет сделано с первого раза, никто не говорил, что не нужно дополнительного багажа знаний. Да и потом я никого не принуждаю, тут все на личном желании и энтузиасме. А тот кто хочет, тот достанет нужный мануал, узнает что нужно, поймёт и запомнит. В этой затее ничего дурного нет, как нет и того, чего надо высмеивать. Да и во времени ничто не ограничивает... |
||||
|
|||||
Иванофф |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 8.9.2006 Репутация: нет Всего: нет |
наверно нужно определить предметную область, рассмотреть сушествуюшие решения, наметить чем новый компилятор будет лучше или хотябы чем будет отличаться. в бесплатно бездежной форме такой проект врядли будет жить. |
|||
|
||||
UniBomb |
|
||||
Новичок ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: нет Всего: 97 |
Иванофф,
Уже пошёл креатифф... Пошли дельные мысли...
Проведение маркетинговых исследований - основная часть успеха. В принципе предметную облать можно взять самую широкую (эх, гулять так гулять) - от создания текстовых процессоров, до вполне солидных графических редакторов, от баз данных до программирования на уровне ядра ОС... Каждый может составить список отличий или новвоведений (т.н. фич) и, скажем, путём голосования оставить самые перспективные. Но опять таки повторюсь - цель проекта не создание панацеи от всех задач.
тут на самом деле более важно чем язык будет отличатся от остальных. Ведь основная задача компилятора - просто выполнять свою работу. А вот основные параметры приложений зависят от кода... |
||||
|
|||||
Иванофф |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 8.9.2006 Репутация: нет Всего: нет |
давайте делать компилятор для создания 3Д САПРов. Возьмем подмножество фортрана, добавим 3Д примитивы и структуры, добавим библиотеку по вводу-выводу, апи по интефейсам, вин апи + сервисные функции для 1Д-2Д-3Д.
а что дальше? |
|||
|
||||
NightmareZ |
|
|||
![]() [хакер] ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 10.8.2006 Репутация: нет Всего: 13 |
Имхо. Язык должен придумывать один человек. Ибо иначе никогда не избавитесь от разногласий.
А зачем?
Убедился на своём опыте, что это всё лишний мусор. Если пишешь компилятор первый раз. Слишком много инфы, которая с трудом кладывается в голове и не даёт креативно мыслить. Писал свой первый basic-подобный интерпретатор, понятия не имея что такое графы и грамматики и прочее..... Хотя, не спорю, что вообще это нужные знания. -------------------- NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш Ely-Art.ru - наша маленькая домашняя арт-студия mugcraft.ru - кружки на любой вкус |
|||
|
||||
Kostt |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 169 Регистрация: 8.1.2006 Где: Томск Репутация: нет Всего: 3 |
А у нас в универе преподавали теорию компиляторов, задание было - написать свой интерпретатор с функциональностью примерно паскаля. Теорию нужно учить, но хорошо, когда знаешь, что конкретно учить
|
|||
|
||||
UniBomb |
|
||||||||
Новичок ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: нет Всего: 97 |
Иванофф,
Действительно, зачем? Это уже не то... Это уже сборка, а не разработка... Намного интереснее разработать с нуля... NightmareZ,
Моё ИМХО - язык должны придумывать (хотя скорее разрабатывать) несколько человек. А выбирать наиболее удачные концепции - уже один человек. Это наиболее оптимальный вариант, т.к. один человек просто не в состоянии учесть особенности уже существующих языков - их прелести и недостатки.
Тоже в принципе дельная мысль. Можно начать с простого линейного интерпретатора и постепенно его усложнять. Тем более как я понял из книги дракона, существует не так много способов создания компиляторов и соответсвенно не придётся изобретать велосипед идя по протоптанной дороге лишь иногда меняя путь... Kostt,
Ну, что конкретно учить выяснится в процессе. Главное с чего начать... |
||||||||
|
|||||||||
Иванофф |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 8.9.2006 Репутация: нет Всего: нет |
зачем писать компилятор с привязкой к предметной области? в таком виде он хоть кому-то понадобиться.
если будете писать компилятор под фортран, паскаль, си и т.д. или язык с близкой функциональностью, то потребителей (помимо разработчиков) не будет. |
|||
|
||||
regis |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 12.12.2005 Где: Москва, Россия Репутация: нет Всего: 7 |
Прежде, чем создавать язык, необходимо определить, для чего он собственно нужен.
Это поможет определиться с другими принципиальными вопросами: например, идеология реализации (чистый компилятор, компилятор в машинно-независимый байт-код, интерпретатор и пр.) И пока, честно, говоря, я просто не вижу здесь интересных и оригинальных идей. На мой взгляд, чтобы начать что-то разрабатывать, хотя бы пара таких идей должна быть. Это сообщение отредактировал(а) regis - 21.12.2006, 10:48 --------------------
В. В чем разница между hardware и software?О. В отличие от второго, по первому можно двинуть кулаком или пнуть ногой. |
|||
|
||||
UniBomb |
|
|||
Новичок ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: нет Всего: 97 |
Иванофф,
regis, Почитайте повнимательней первый пост топика... Идея не в том, что бы создать какой-то супер пупер компилятор, который заткнёт cpp и c#. Этот проект должен стать первым опытом создания компиляторов. Хотя конечно хочется сделать самостоятельный и законченый продукт... Очередная агидинформация: Грядут новогодние каникулы, у кого сессия, у кого выходные, а у кого просто есть свободное время. Предлагаю всем подумать над двумя вопросами - 1) Чего не хватает современным ЯП? 2) Чего лишнего в современных ЯП? Агидотдел закончил... От себя могу добавить - язык будет универсальным. Т.е. не ограниченным одной сферой. Из нововведений есть желание реализовать редактор формул. Не знаю, есть такое в фортране или нет (если там нет, то и нигде нет), но смысл вот в чём - если есть какая-нить большущая дробь, которую надо запрограммировать - во всех ЯП вся дробь записывается в одну длиннющую строку, в которой подчас ничего не разобрать, следовательно это надо сделать более удобным - позволить записывать эту дробь в привычном виде - под числителем знаменатель, над знаменателем - числитель. В общем как редактор формул в ворде. ЗЫ:. в течении двух недель порбую выработать концепцию языка и разработать его синтаксис - так что думайте, чего надо критиковать в первую очередь... ЗЫ:. хорошо что хоть на этом этапе критики нет.... ![]() Это сообщение отредактировал(а) UniBomb - 22.12.2006, 01:25 |
|||
|
||||
Artemios |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 405 Регистрация: 14.8.2006 Где: Саратов, Россия Репутация: нет Всего: 50 |
Обычно, кто много возится с наборами формул (не в программировании, вообще математический текст) -- в конечном итоге большинство переходит от визуальных построителей (типа редактора формул в ворде) к системе LaTeX, где формулы как раз записываются в одну строчку набором комманд. Так что вопрос об удобстве WISIWIG построителей достаточно спорен, практика доказывает обратное. А вообще, последнее предложение касается не языка, а IDE. ну вот и критика ![]() -------------------- fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ] |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Технологии: Разные | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |