Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2011.05.22;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.56 MB
Время: 0.004 c
2-1297184901
Студент
2011-02-08 20:08
2011.05.22
Пытался сравнить переменную с функцией изменяющей её значение :(


15-1297086003
oldman
2011-02-07 16:40
2011.05.22
Для тех кто хочет знать, какого пола их компьютер


2-1297680683
Евгений07
2011-02-14 13:51
2011.05.22
SendMessage WM_COPYDATA


2-1297514636
Женя
2011-02-12 15:43
2011.05.22
Рисунки


2-1297509771
Pavel
2011-02-12 14:22
2011.05.22
Каким образом можно узнать, что форму начали двигать?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский