можно посмотреть сюда и вот сюда и увидеть, что рост популярности ObjC был весьма нелинейный… Все будет, со временем (с «каким» временем — уже сложнее:))
Да. Насколько я понял, основная идея LLVM — создание виртуальной машины (back-end), выполняющей откомпилированную с помощью специального компилятора (front-end) в байт-код программу. Процессорозависимые оптимизации и прочая лабуда выполняются на месте (перед запуском или во время — не знаю, в детали не углубялся). Бэк-энды есть для разных платформ (точно собирается под виндой, линухом и макосью, про остальные не знаю), фронт-эндов пока мало, я запомнил только два: один — основанный на gcc (не знаю, какие из языков, поддерживаемых gcc, он поддерживает, наверное все?), второй — отдельный, для C/C++/ObjC — clang.
Собственно, о самой LLVM я знаю мало, мне интересовал только clang (потому что из него можно выдирать модули и использовать в разных целях).
Мне лично не приходилось иметь дело с LLVM, поэтому с удовольствием почитал бы об его особенностях. Тогда может и смог бы сформулировать отличия.
А из прочитанного об LLVM я правильно понял, что если не использовать внешних библиотек, а все собирать из исходников, то программа будет работать на всех поддерживаемых платформах?
Во-первых, за прошедшие почти 10 лет с момента написания той статьи произошло достаточное количество событий. Например вышел .Net Framework 1.0 и последующие :)
Ну а во-вторых и так ясно, что все придумано до нас. Наша же задача найти это все и перевести на понятный далекому человеку язык.
Еще к языкам можно добавить F# — функциональный язык от Microsoft. Его официальный выход запланирован вместе с C#4.0. Кстати некоторые добавки в C# (например кортежи) обязаны именно F#.
Ну и Nemerle — мультипарадигменный язык, разработанный в польском университете. Особенно сильный в задачах метапрограммирования.
Мне довелось пописать на обоих — очень интересные и не обычные языки. Про метапрограммирование в Nemerle я вообще молчу. Мозг поломать придется, но если имели опыт программирования на Haskell'е или чем-то подобном, то будет полегче:)
Следует так же упомянуть, что часть функционала доступна только по платной подписке.
Ознакомиться можно здесь: https://secure.clearcenter.com/portal/build1.jsp
А так же о платной поддержке: www.clearcenter.com/Support/clearcare.html
// не читай второе предложение)
Собственно, о самой LLVM я знаю мало, мне интересовал только clang (потому что из него можно выдирать модули и использовать в разных целях).
А из прочитанного об LLVM я правильно понял, что если не использовать внешних библиотек, а все собирать из исходников, то программа будет работать на всех поддерживаемых платформах?
Ну а во-вторых и так ясно, что все придумано до нас. Наша же задача найти это все и перевести на понятный далекому человеку язык.
спасибо за дополнение ;)
Ну и
Мне довелось пописать на обоих — очень интересные и не обычные языки. Про метапрограммирование в Nemerle я вообще молчу. Мозг поломать придется, но если имели опыт программирования на Haskell'е или чем-то подобном, то будет полегче:)
Ознакомиться можно здесь: https://secure.clearcenter.com/portal/build1.jsp
А так же о платной поддержке: