|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
11.11.2010, 21:55 | #1 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Свой компилятор(С++'о подобный)
в общем задался идеей такой(да собственно это уже не только идея)
основная затея была в составлении идеального ЯП(по своим меркам). основное что я стараюсь делать, это совместимость с С++, то есть на моем компиле можно будет все так же писать С++ программы. то есть по сути это выходит расширенный С++. из планов это: 1)отсутствие Generic типов. все типы(int и тд) будут обьявленны в специальном заголовочном файле, который гарантированно подключается до всего. все что есть изначально в распоряжении это директива задания размера данным(типа db в асме) 2)директивы модификаторы, например к слову class. что по необходимости включать например(причем и для всех его потомков тоже), метод GetClassName, и тп. 3)немного расширенный препроцессор к примеру директива #file, позволяющая инициализировать переменными данными извне 4)за счет внешнего инклюдника с Generic, можно выбирать нужную версию в зависимости от проца(к примеру насчет SSE) или же даже сделать виртуальную систему что сама будет адаптироватся к типу проца. 5)внешние инлайн функции(уже скомпиленные, естествествено функция в рамках моего формата обьектников) то есть инлайн функции без раскрытия сорцов. 6)св-ва классам(мне их немного не хватает) 7)поддержка интерфейсов(как к примеру в Java) то есть класс можно обьеденить с интерфейсом. 8)ну там мелочи насчет сборки мусора и тд(это опять же через модификаторы) что думаете? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
11.11.2010, 23:04 | #2 | |
Linux C++ Qt ARM
Старожил
Регистрация: 30.11.2008
Сообщений: 3,030
|
Цитата:
Дилетант широкого профиля.
"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс |
|
11.11.2010, 23:16 | #3 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
есть, не отрицаю, но я же уточнил про Java
в Java класс наследуется от одного, и может реализовывать несколько интерфейсов в себе. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
11.11.2010, 23:21 | #4 | ||||||||
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Это да. неплохая штука. Особенно, если это будет в стиле C# с автогенерируемыми свойствами, дабы меньше тупого кода набивать. Цитата:
Цитата:
В целом ситуация как обычно: хочется сделать что-то полезное, но уверенности в том, что это будет и как реализовывать - нет. Что за язык? Для каких задач? Чем не устраивают существующие аналоги? Чем он будет лучше и почему люди должны будут его использовать? Я не думаю, что можно на базе С++ что-то лучшее создать. Это и так сборник граблей. Смысл над существующими граблями надстраивать новые? Сомневаюсь я в целесообразности данной разработки. Разве что для опыта... |
||||||||
11.11.2010, 23:33 | #5 | ||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
1)я имел в виду стандартные типы(чето глюкануло спросоня)
то есть код для работы со стандартными типами не включен в компиль 2)я больше думаю обеспечить совместимость С++ с моим компилем, а не наоборот. 3)а мне нравится играть с огнем 4)да куча лишнего, но зато большая переносимость с учетом максимальных возможностей системы. 5)если не ошибаюсь, то inline обязан быть в том же файле что и обьявление этой функции или внешний файл(инклюдник короче) ну в общем, открыт исходник его должен быть, в lib его не вынести. или я не прав? 6)к сожалению с шарпом почти не знаком, можете пояснить? 7)идеи есть, надеюсь справлюсь 8)я просто привел пример, знаю что не мелочь, просто не хотел больше пунктов писать ЗЫ, кстати помоему это транслятор в асм выходит... Цитата:
по большей части буду использовать его в разработке своих программ. ну а С++ выбран за основу потому что нравится мне этот язык Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
||
12.11.2010, 06:59 | #6 | ||
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
Цитата:
Будет ли у Вас множественное наследование?
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика Последний раз редактировалось Utkin; 12.11.2010 в 07:02. |
||
12.11.2010, 07:43 | #7 |
Linux C++ Qt ARM
Старожил
Регистрация: 30.11.2008
Сообщений: 3,030
|
К стати, на счет сборки мусора, надеюсь вы не сделаете как в C#, когда программист не вправе сам освободить память. А сборщик освобождает память, на которую ничто не ссылается, тогда, когда ему вздумается. (сам был свидетелем, что с таким сборщиком прога с формой, двумя текстбоксами, кнопочкой, и парой надписей при многократном прогоне (порядка 200 раз. прога просто что-то считала и выводила результат на форму) со стартовых 8 метров в памяти, разрослась аж до 14, т.е. почти в 2 раза.)
Дилетант широкого профиля.
"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс |
12.11.2010, 09:50 | #8 | |||||
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
Цитата:
Цитата:
Цитата:
Цитата:
Зачастую get и set методы сводятся к банальным: Код:
Код:
Так же подсмотрите по поводу такой возможности: Код:
Компилятор переводит программу в машинный код, а транслятор - "на лету" выполняет. Выполнение кода C# и Java - тоже своего рода трансляция по сути. Цитата:
2. Если программа разрослась до того, что комп стал тормозить и с другими программами было невозможно работать, то это косяк. А если просто занято было 14 метров свободной оперативки, то что тут такого? Ну занято 14 и занято, всё равно её никто не использует. |
|||||
12.11.2010, 12:59 | #9 | |||||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
то есть можно указать базовый класс, и реализовать несколько интерфейсов. но наследоватся от многих классов нельзя. или думаете что надо? Цитата:
Цитата:
Цитата:
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|||||
12.11.2010, 16:07 | #10 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Наоборот, меня тоже устраивает модель Дельфи.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
можно ли подобный текст перевести на человеческий язык? | alexxx777 | Помощь студентам | 0 | 24.05.2010 19:56 |
Как создать вид подобный SolidWorks. | KemanSR | Общие вопросы C/C++ | 6 | 04.05.2010 21:30 |
Добавить модуль в phpnuke-подобный движок | Able2Know | Фриланс | 3 | 23.04.2010 16:29 |
В Access есть тип данных "Счетчик".Есть ли подобный тип данных в MS Sql Server 2000? | An_ton | SQL, базы данных | 5 | 16.01.2009 17:55 |