рассмотрим на примере только дотнета, я его лучше всего знаю, а проблемы у его собратьев такие же.
изначальная идея "компилируем раз — запускаем везде" давала надежду, но не только по маркитенговым, но и техническим причинам оказалось, что
приемлемом уровне это сделать сложно, в итоге все жавы и дотнеты оказались очень даже одно платформенными.
а самым реально мультплатфоменнным оказался в итоге Си с С++ом
тогда нафига весь этот огород?
а если просто представить, что не нада было заморачиваться платформонезависимостью, но реализовать лучшие наработки в области сематники и базовых либ?
код запускался бы сразу без JIT компиляции и тормозов с ней связанной и можно было бы делать реальную оптимизацию кода компилятором выжимать максимум.
а мультиплатформеность достигнуть посредством просто написания соот-щего компилятора под то, что нужно, сохранив максимум совместимости на уровне базовых библиотек.
да, различия платформ все равно придется учитывать в коде, но код на 98% будет компилируем без переделок и будет работать везде на максимуме скорости и без ЖИТ тормозов.
конечно с костылями это можно и сейчас достигнуть, типа С/С++ и буст или С/С++ и скрипты, но это всё извраты и многом ограниченные по функционалу.
мож нада было идти этим путем? а не жертвовать многим ради платформонезависисмости которая в итоге недостижима оказалась.
Я изъездил эту страну вдоль и поперек, общался с умнейшими людьми и я могу вам ручаться в том, что обработка данных является лишь причудой, мода на которую продержится не более года. (с) Эксперт, авторитет и профессионал из 1957 г.
Здравствуйте, Kingofastellarwar, Вы писали:
K>рассмотрим на примере только дотнета, я его лучше всего знаю, а проблемы у его собратьев такие же.
Рассмотрим на примере java... все работает прекрасно на всех платформах...
Рассмотрим правильное кроссплатформеное программирование под С/C++ — все прекрасно компилируется под любые платформы — от PC до мобильных...
Каждый язык имеет свою нишу и применение... настоящему программисту все равно на каком языке писать, под какую платформу и архитектуру — ибо принципы программирования идентичные для всех языков и отличаются только синтаксисом, а базовые технологии есть во всех платформах, а отличия в архитекторах нивелируются едиными типами данных... Так что вся статья — то маркетинговый берд направленный на продвижение своих продуктов...
Здравствуйте, Kingofastellarwar, Вы писали:
K>тогда нафига весь этот огород? K>а если просто представить, что не нада было заморачиваться платформонезависимостью, но реализовать лучшие наработки в области сематники и базовых либ? K>код запускался бы сразу без JIT компиляции и тормозов с ней связанной и можно было бы делать реальную оптимизацию кода компилятором выжимать максимум.
Ты серьезно думаешь, что JIT-компилер нужен только для мультиплатформенности?
Здравствуйте, WarHog, Вы писали:
WH>Ты серьезно думаешь, что JIT-компилер нужен только для мультиплатформенности?
а для чего еще?
ну только не смешите меня песнями про оптимизацию под платформу, это беда жит, а не его достоинство.
или для динамической компиляции? а кто ее использует?
Я изъездил эту страну вдоль и поперек, общался с умнейшими людьми и я могу вам ручаться в том, что обработка данных является лишь причудой, мода на которую продержится не более года. (с) Эксперт, авторитет и профессионал из 1957 г.
Здравствуйте, Uzumaki Naruto, Вы писали:
UN>Рассмотрим на примере java... все работает прекрасно на всех платформах...
прекрасно это как? я лично не видел ни одного приложения на жаве, которое прекрасно работало хотя б под линухом, вендой и макосью.
UN>Рассмотрим правильное кроссплатформеное программирование под С/C++ — все прекрасно компилируется под любые платформы — от PC до мобильных...
ясное дело что оно комплируется, заставить скомпилирвоать можно всё, тока вот писать на таком не тянет совсем.
Я изъездил эту страну вдоль и поперек, общался с умнейшими людьми и я могу вам ручаться в том, что обработка данных является лишь причудой, мода на которую продержится не более года. (с) Эксперт, авторитет и профессионал из 1957 г.
Здравствуйте, Kingofastellarwar, Вы писали:
WH>>Ты серьезно думаешь, что JIT-компилер нужен только для мультиплатформенности? K>а для чего еще? K>ну только не смешите меня песнями про оптимизацию под платформу, это беда жит, а не его достоинство. K>или для динамической компиляции? а кто ее использует?
Для контроля выполнения и уборки мусора. Все остальное -- неизбежное следствие.
Здравствуйте, quwy, Вы писали:
Q>Для контроля выполнения и уборки мусора. Все остальное -- неизбежное следствие.
так для этого жит компиляция не нужна
Я изъездил эту страну вдоль и поперек, общался с умнейшими людьми и я могу вам ручаться в том, что обработка данных является лишь причудой, мода на которую продержится не более года. (с) Эксперт, авторитет и профессионал из 1957 г.
Здравствуйте, Kingofastellarwar, Вы писали:
Q>>Для контроля выполнения и уборки мусора. Все остальное -- неизбежное следствие. K>так для этого жит компиляция не нужна
Можно и интерпретатором, только это еще хуже.
Здравствуйте, Kingofastellarwar, Вы писали:
K>ну только не смешите меня песнями про оптимизацию под платформу, это беда жит, а не его достоинство.
Я так думаю, что именно для этого она и задумывалась — типа компиляция для того проца, который сейчас установлен. Однако, практика показала, что решения без JIT быстрее, а там, где нужна оптимизация под проц, она делается руками.
K>или для динамической компиляции? а кто ее использует?
а вот про динамическую компиляцию — зря, ибо хорошая штука.
однако всё запихивать под JIT — глупо.
Всё сказанное выше — личное мнение, если не указано обратное.
Здравствуйте, Uzumaki Naruto, Вы писали:
K>>рассмотрим на примере только дотнета, я его лучше всего знаю, а проблемы у его собратьев такие же. UN>Рассмотрим на примере java... все работает прекрасно на всех платформах...
Кроме iPhone.
UN>Рассмотрим правильное кроссплатформеное программирование под С/C++ — все прекрасно компилируется под любые платформы — от PC до мобильных...
Кроме WinPhone.
Здравствуйте, Kingofastellarwar, Вы писали:
UN>>Рассмотрим на примере java... все работает прекрасно на всех платформах... K>прекрасно это как? я лично не видел ни одного приложения на жаве, которое прекрасно работало хотя б под линухом, вендой и макосью.
Показать?
Не очень понял почему в качестве примера кроссплатформенности привели пример .Net. Он же самими создателями позиционировался как только под Windows. Тот же Mono создан по сути независимо. Про другие платформы вообще молчу. Так что никакой кроссплатформенности никто и не обещал — откуда иллюзии то?
А получились Java на JVM и C# на .Net (последнее возникло просто как конкурент первому, когда стал ясен масштаб ниши) для написания большого количества корпоративного софта низкоквалифицированными (и соответственно хорошо заменяемыми) программистами. Оказалось что это очень нужный рынок — в мире больше не IT Компаний всё же. )))
Конечно у авторов технологий появялись и всякие наполеоновские планы по переводу всей разработки на это дело, но они быстро пропадали столкнувшись с реальностью. У Java это произошло раньше — теперь она спокойно царит в своём мирке и нелезет особо никуда. А у MS вроде бы как раз только закончился такой период, когда они временно не развивали C++ и делали на упор в .Net везде. Но сейчас и у них идёт откат.
А ещё сейчас похоже появляется новый игрок в связи с попытками перевода всего в web. Html5, jquery фреймворки с полноценными GUI контролами и т.п... Посмотрим в ближайшем будущем что это, очередная временная мода или реальный конкурент.
Здравствуйте, Kingofastellarwar, Вы писали:
K>рассмотрим на примере только дотнета, я его лучше всего знаю, а проблемы у его собратьев такие же.
Кросплатформенность .NET — это не иллюзия, а тупое нежелание MS переносить код на другие платформы. Mono прекрасно работает и на линуксе и на андроиде. Никаких проблем с этим нет.
Почему MS не желает заниматься другими платформами для меня совершенно непонятно. В результате на сегодняшний день наблюдается стойкая тенденция не только написания сервернго кода на Java, но и переписывания существующего .NET кода на Java. Можно сказать, что рынок серверного софта в банках на сегодня для .NET потерян. Удивляет то, что для одной и тоже же большой системы UI делается на .NET, Web на .NET, а сервер на Java.
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, quwy, Вы писали:
Q>>>Для контроля выполнения и уборки мусора. Все остальное -- неизбежное следствие. K>>так для этого жит компиляция не нужна Q>Можно и интерпретатором, только это еще хуже.
_>А ещё сейчас похоже появляется новый игрок в связи с попытками перевода всего в web. Html5, jquery фреймворки с полноценными GUI контролами и т.п... Посмотрим в ближайшем будущем что это, очередная временная мода или реальный конкурент.
Скриптовый язык без типов данных, глобальные переменные, крайне низкий уровень разработчиков (включая и тех из них, кто вроде сидит под линухом, но на самом деле ничему новому учиться не хочет), а если вместо jQuery рассмотреть ExtJS версии 4.x, то...
...становится понятно, что этот "игрок" — тот же MS Access и Borland Paradox по сути своей.
Он же dBase, Turbo Vision, VCL и т.п. монолитное-всё-в-одном.
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, Uzumaki Naruto, Вы писали:
K>>>рассмотрим на примере только дотнета, я его лучше всего знаю, а проблемы у его собратьев такие же. UN>>Рассмотрим на примере java... все работает прекрасно на всех платформах... C>Кроме iPhone.
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, Uzumaki Naruto, Вы писали:
K>>>рассмотрим на примере только дотнета, я его лучше всего знаю, а проблемы у его собратьев такие же. UN>>Рассмотрим на примере java... все работает прекрасно на всех платформах... C>Кроме iPhone.
Продукцию Apple не воспринимаю всерьез... рассчитываю что в течении 5 лет исчезнит как реликт...
UN>>Рассмотрим правильное кроссплатформеное программирование под С/C++ — все прекрасно компилируется под любые платформы — от PC до мобильных... C>Кроме WinPhone.
Здравствуйте, Kingofastellarwar, Вы писали:
K>а для чего еще? K>ну только не смешите меня песнями про оптимизацию под платформу, это беда жит, а не его достоинство. K>или для динамической компиляции? а кто ее использует?