Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.05.22;
Скачать: CL | DM;

Вниз

Есть интересная задача   Найти похожие ветки 

 
oxffff ©   (2011-02-01 16:16) [0]

Продолжаю пилить свой язык JAR и смотреть вперед.
Уже есть компилятор командной строки, правда он весит 2,6 МБ неупакованный(но в нем есть части которые нужно разнести, вообщем должен быть меньше). :)
Сейчас есть генерация кода для .NET.
Есть задача использовать LLVM в качестве генерации кода на x86 и ряд других платформ.
Кому интересно заняться этой задачей welcome.
Есть задачи писать документацию и организовать сайт.
Свое внимание я бы хотел сосредоточить на front end и выразительной части языка.
Собственно можно поставить дополнительную задачу,организовать совместимость с текущими версиями Delphi на x86 насколько это возможно. Знаю что на этом форуме есть большое количество светлых и умных голов.

Для чего это все: по большей части это мое хобби и огромное желание недеградировать на работе. Возможно если удалось бы поднять проект, то из него можно извлекать выгоду ввиде денег и хорошего портфолио.

Спасибо.

P.S.
Сегодня допилил вывод типов. Например

program myprogram;

Tproc=function (a:integer):integer;

ProcEx:Tproc;

function pf<T>(a:T):integer;
begin
result:=1;
end;

begin
ProcEx:=pf;
write ProcEx(1);
end


 
oxffff ©   (2011-02-01 16:26) [1]

Я смогу привлечь студентов к части работ летом. Есть договоренность с зав. кафедрами на летную практику. Сейчас курсовые уже раздали.
А в качестве дипломного проекта не хочется подставлять студентов нашего вуза. Потянут единицы, но не факт что приемная коммисия оценит. Им нужны инновации в программах. Вообщем клюют на всякие рюшечки.


 
KilkennyCat ©   (2011-02-01 16:34) [2]

а где можно глянуть вообще все?


 
oxffff ©   (2011-02-01 16:41) [3]


> KilkennyCat ©   (01.02.11 16:34) [2]
> а где можно глянуть вообще все?


http://santonov.blogspot.com/


 
Кто б сомневался ©   (2011-02-01 16:41) [4]


> Продолжаю пилить свой язык JAR и смотреть вперед.


А зачем он нужен? Или это просто для практики?


 
Кто б сомневался ©   (2011-02-01 16:43) [5]

Имхо если есть свободное время, то не помешала бы помощь в KOL-CE для WinCE.
Это дело.


 
oxffff ©   (2011-02-01 16:44) [6]


> Кто б сомневался ©   (01.02.11 16:41) [4]
>
> > Продолжаю пилить свой язык JAR и смотреть вперед.
>
>
> А зачем он нужен? Или это просто для практики?


1.Хобби
2. Возможности языка:
а) вывод типов в Delphi ограничен. В YAR он более продвинут.
б) хотелось бы generics либо адаптировать, либо сделать иную реализацию. с прямой поддержкой операторов.
в)....


 
Кто б сомневался ©   (2011-02-01 16:46) [7]


> вывод типов в Delphi ограничен. В YAR он более продвинут.


Ну или присоеденится к разработке Free Pascal\Lazarus и там это реализовать (может это и есть там).


 
Кто б сомневался ©   (2011-02-01 16:48) [8]

Согласитесь, Вашими разработками (Free Pascal\Lazarus\KOL-CE) будут пользоваться тысячи - и это действительно нужно и полезно.


 
oxffff ©   (2011-02-01 16:53) [9]


> Кто б сомневался ©   (01.02.11 16:48) [8]
> Согласитесь, Вашими разработками (Free Pascal\Lazarus\KOL-
> CE) будут пользоваться тысячи - и это действительно нужно
> и полезно.


Думаете дадут просто так переписать парсер Free Pascal для некоторых вещей например LINQ?


 
oxffff ©   (2011-02-01 16:59) [10]

Код для примера на MSIL

.assembly extern mscorlib { auto }
.assembly project {}

.field public static native int ProcEx
.method public static int32 pf<T>(!!T a) cil managed
{
ldc.i4  1
ret
}
.method public static void main() cil managed
{
.entrypoint
ldftn int32 pf<int32>(!!0 a)
stsfld  native int ProcEx
ldc.i4  1
ldsfld  native int ProcEx
calli int32 (int32 a)
call void [mscorlib]System.Console::Write(int32)
ret
}


 
Кто б сомневался ©   (2011-02-01 17:18) [11]


> Думаете дадут просто так переписать парсер Free Pascal для
> некоторых вещей например LINQ?


Вы можете сделать расширенный синтаксис, который будет работать от директив.
А так вы напишите свой компилятор и язык, потратите 15 лет и он будет валяться у вас в архиве. Какой смысл? Один человек все равно не сможет его развивать и поддерживать. Это огромнейший проект.


 
Sergey Masloff   (2011-02-01 17:36) [12]

Кто б сомневался ©   (01.02.11 17:18) [11]
А на фиг его (язык самописный) развивать - человек развивает свои скилы (и правильно делает) совсем необязательно это делать в рамках проекта для практического применения (и даже наоборот - творчества больше при писании "в стол")


 
Кто б сомневался ©   (2011-02-01 18:21) [13]


> (и даже наоборот - творчества больше при писании "в стол")


В большом и сложном проекте, в котором работают десятки людей, опыта получишь гораздо больше, чем если разрабатываешь его в одиночку.
Всегда можно обсудить с коллегами как лучше.


 
И. Павел ©   (2011-02-01 18:37) [14]


> А зачем он нужен? Или это просто для практики?

Многие серьезные вещи в ИТ начинали делать в гаражах и на коленке и, скорее всего, без расчета на мегаприбыли а ради удовольствия. Поживем увидим :)


 
Кто б сомневался ©   (2011-02-01 18:56) [15]


> Многие серьезные вещи в ИТ начинали делать в гаражах и на
> коленке

И многие серьезные вещи так и остались в гаражах. Еденицы только увидели свет.


 
oxffff ©   (2011-02-01 19:58) [16]


> Кто б сомневался ©   (01.02.11 17:18) [11]
>
> > Думаете дадут просто так переписать парсер Free Pascal
> для
> > некоторых вещей например LINQ?
>
>
> Вы можете сделать расширенный синтаксис, который будет работать
> от директив.
> А так вы напишите свой компилятор и язык, потратите 15 лет
> и он будет валяться у вас в архиве. Какой смысл? Один человек
> все равно не сможет его развивать и поддерживать. Это огромнейший
> проект.


Я много не прошу. Собственно нужно из моего промежуточного представления перевести в представление LLVM.
Backend для .NET занимает 2500 cтрок.
По моим расчетам для LLVM он будет побольше, но не намного.
Я не ковырял LLVM, однако думаю что полное интанцирование параметризованных типов и методов нужно будет делать на уровне frontend в данном случае. Я могу это сделать. Сейчас весь проект занимает чуть больше 30000 строк.


 
Игорь Шевченко ©   (2011-02-01 20:11) [17]


> Многие серьезные вещи в ИТ начинали делать в гаражах и на
> коленке


умилило слово "многие". Примеры в студию,кроме Джобса и Возняка


 
И. Павел ©   (2011-02-01 20:38) [18]


> > Многие серьезные вещи в ИТ начинали делать в гаражах и
> на
> > коленке
>
>
> умилило слово "многие". Примеры в студию,кроме Джобса и
> Возняка


Говоря "cерьезные" я не имел ввиду "прибыльные". ИМХО Джобс сейчас уже скорее просто успешный коммерсант.

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


 
Leonid Troyanovsky ©   (2011-02-01 20:52) [19]


> Игорь Шевченко ©   (01.02.11 20:11) [17]

> умилило слово "многие". Примеры в студию,кроме Джобса и
> Возняка

Митник?

--
Regards, LVT.


 
KilkennyCat ©   (2011-02-01 21:05) [20]


> Игорь Шевченко ©   (01.02.11 20:11) [17]

я. и не только начинал - я там (так) и закончу :)


 
Игорь Шевченко ©   (2011-02-01 21:08) [21]

И. Павел ©   (01.02.11 20:38) [18]


> Клод Шеннон, например, дал вторую жизнь булевой алгебре
> будучи студентом.


На коленке в гараже ? Не смешно.


> Корпорации нацелены на получение прибыли, и поэтому не поворачивают
> на те тропинки, за которыми могут скрываться настоящие золотые
> жилы.


А если без пафоса ?


 
И. Павел ©   (2011-02-01 21:36) [22]


> На коленке в гараже ? Не смешно.

Конечно, он работал в Массачусетском институте, ему был 21 год и он был ассистентом-исследователем. Но занимался он там явно не внедрением булевой математики в вычислительную технику (тогда этим еще никто не мог заниматься). Это ОН увидел связь между техникой и булевой математикой. Т.е. это не результат многолетнего труда сотни штатных инженеров выполняющих четко свое ТЗ.


 
И. Павел ©   (2011-02-01 21:49) [23]

Бернерс Ли написал программу «Enquire» "Для собственных нужд" (c) википедия. Так что и всемирная паутина обязана рождением "коленке" :)


 
TUser ©   (2011-02-01 22:08) [24]


> Игорь Шевченко ©   (01.02.11 20:11) [17]
>
>
> > Многие серьезные вещи в ИТ начинали делать в гаражах и
> на
> > коленке
>
>
> умилило слово "многие". Примеры в студию,кроме Джобса и
> Возняка

паскаль, перл, пхп, mysql - изначально некомерческие проекты

перл и пхп - именно так, дай-ка сотворю что-нибудь свое, а потом оказалось, что вырастает индустрия


 
Игорь Шевченко ©   (2011-02-01 22:37) [25]


> перл и пхп - именно так, дай-ка сотворю что-нибудь свое,
>  а потом оказалось, что вырастает индустрия


не озвучен процент сотворенного своего, из которого индустрия не выросла. Без этого приведенные примеры несерьезны.

Язык С, например, тоже был придуман одним человеком и для одной цели. Но у языка С были истоки, предшественники, которым не повезло стать стандартом для индустрии. Из этого вовсе не следует, что С был сделан в гараже и на коленке, а его предшественники - по заказу корпораций, жаждущих прибылей :)


 
KilkennyCat ©   (2011-02-01 23:07) [26]

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


 
TUser ©   (2011-02-02 06:52) [27]


> не озвучен процент

Ну ноль, и что? Мы не можем так вот а приори не попробовав сказать - вот это будет хорошо, нужно и полезно, а то - плохо и бессмысленно. В мире людей возникает много новых штук, часть выживает.


 
oxffff ©   (2011-02-02 07:00) [28]

Помогать кто будет? или только ...
:)


 
Дмитрий С ©   (2011-02-02 07:34) [29]

Программирование ради программирования. Увлечение что ли такое?

Я бы помог с удовольствием, но не умею ничего :(


 
И. Павел ©   (2011-02-02 08:04) [30]

> [28] oxffff ©   (02.02.11 07:00)

Так мы вам в пример таких людей приводим. Чем не моральная поддержка? :)
А если серьезно: если вы работаете в ВУЗе, то, ИМХО, тут лучше умных студентов с первого курса присмотреть и самому их обучить. Организовать своего рода кружек, где заниматься разработкой нового языка. Первоначально мотивировать автоматами по экзаменам, а потом сами втянутся.


 
oxffff ©   (2011-02-02 08:57) [31]


> И. Павел ©   (02.02.11 08:04) [30]
> > [28] oxffff ©   (02.02.11 07:00)
>
> Так мы вам в пример таких людей приводим. Чем не моральная
> поддержка? :)
> А если серьезно: если вы работаете в ВУЗе, то, ИМХО, тут
> лучше умных студентов с первого курса присмотреть и самому
> их обучить


Я работал в ВУЗе пока учился в аспирантуре.
Но наши пути разошлись и слава богу. Печально такое говорить, но это так.
Однако поддерживаю связь с кафедрами.


 
oxffff ©   (2011-02-02 08:59) [32]


> тут лучше умных студентов с первого курса присмотреть и
> самому их обучить


Я не бог. Об этом пусть господин Медведев думает.
Студент закончил учиться и забыл все как страшный сон.


 
oxffff ©   (2011-02-02 09:06) [33]


> Первоначально мотивировать автоматами по экзаменам, а потом
> сами втянутся.


У меня в отделе работали студенты, мотивировать их универскими копейками я не мог.
Однако пытался мотивировать другим, охотно рассказывая и делясь своими знаниями. Но им это было не нужно. Теперь разработкой занимаются на кафедре и поэтому зав. кафедрой очень просто выписывать мотивометры ввиде сложностей в сдаче. Да и студент просто боится. Вообщем это было давно и всё такое.. :)

Рассказывал в декабре в рамках семинара в качестве гостя в предприятий на кафедрах о JAR и его устройстве. Понял только зав. кафедрой. Студенты смотрели как на новые ворота.


 
oxffff ©   (2011-02-02 09:33) [34]


> Дмитрий С ©   (02.02.11 07:34) [29]
> Программирование ради программирования. Увлечение что ли
> такое?
>
> Я бы помог с удовольствием, но не умею ничего :(


Так и я не умею всего. :)
Приходиться учится.

Собственно если бы тебе удалось разобраться как описать например функцию с 2 параметрами(функция складывает эти числа и возвращает в качестве результата), а сама программа просто вызывает эту функцию.
Я гуглил, есть русскоязычные примеры как это сделать.
То остальное дело техники.


 
oxffff ©   (2011-02-02 09:35) [35]


> Собственно если бы тебе удалось разобраться как описать
> например функцию с 2 параметрами(функция складывает эти
> числа и возвращает в качестве результата), а сама программа
> просто вызывает эту функцию.


В рамках LLVM.


 
Alkid ©   (2011-02-02 09:36) [36]

То есть YAR - это такой паскаль в блекджеком и выводом типов? :)


 
TUser ©   (2011-02-02 09:51) [37]


> Я не бог. Об этом пусть господин Медведев думает.

жжжжесть

то-то его всуе тут упоминать не дают

)))


 
oxffff ©   (2011-02-02 09:52) [38]


> Alkid ©   (02.02.11 09:36) [36]
> То есть YAR - это такой паскаль в блекджеком и выводом типов?
>  :)


Пока немного, но я быстро учусь.


 
Alkid ©   (2011-02-02 10:16) [39]


> oxffff ©   (02.02.11 09:52) [38]
> Пока немного, но я быстро учусь.

А чем был обусловлен выбор Паскаля, как отправной точки?


 
oxffff ©   (2011-02-02 10:22) [40]


> Alkid ©   (02.02.11 10:16) [39]
>
> > oxffff ©   (02.02.11 09:52) [38]
> > Пока немного, но я быстро учусь.
>
> А чем был обусловлен выбор Паскаля, как отправной точки?
>


Мне нравится begin ... end, а не {....}.
:)))))))))))))



Страницы: 1 2 вся ветка

Текущий архив: 2011.05.22;
Скачать: CL | DM;

Наверх




Память: 0.58 MB
Время: 0.01 c
3-1259310796
ТГость
2009-11-27 11:33
2011.05.22
Как получить длинну колонки таблицы?


15-1296909375
Дмитрий
2011-02-05 15:36
2011.05.22
Проблема с сетью


15-1296995151
SummerWind
2011-02-06 15:25
2011.05.22
getObject - Баг или фича?


1-1254471574
dmitry1208197320
2009-10-02 12:19
2011.05.22
Прокрутка веб-страницы


2-1296660428
vegarulez
2011-02-02 18:27
2011.05.22
фото с вебкамеры.