| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Философия программирования > Какой кроссплатф-ый язык программирования лучше? |
| Автор: Vady85 12.12.2014, 23:38 |
| Здравствуйте, форумчане! Давно назрел у меня такой вопрос: какой системный язык программирования лучше использовать для разработки кроссплатформенных приложений: Windows, Linux, Android? Основное требование: высокая производительность, минимум потребляемых ресурсов (процессор, память, т.к. используем сервер терминалов, а клиентов довольно много), возможность работы со многими видами СУБД. Для разработки медсофта с возможностью сбора данных с различных медицинских софтов от диагностических оборудований, работающих на самых разных СУБД (DBF, MS Access, MS SQL Server, MySQL и т.д.). Ваши варианты и аргументы? |
| Автор: Stolzen 13.12.2014, 00:32 |
| Под перечисленные требования (разве что кроме минимума ресурсов) лучше всего подходит джава. |
| Автор: Vady85 13.12.2014, 00:40 | ||
А, скажем, python, не подходит? Под винду и линукс делают программы. Под андроид вроде есть SDK. На Си кто-нибудь кодит? Еще варианты? |
| Автор: kosmonaFFFt 13.12.2014, 21:40 |
| Конечно C++, желательно версии C++11... Если нужен GUI - подойдет Qt, + в нем есть механизм работы с БД и плагины к различным СУБД, не говоря уже о работе с сетью, XML и прочих плюшках. |
| Автор: Vady85 13.12.2014, 22:12 | ||
Спасибо! Про Qt я в курсе, и обязательно буду его применять. Хотелось бы реальных сравнений с другими кроссплатформенными языками программирования. |
| Автор: kosmonaFFFt 13.12.2014, 22:19 |
| Java и .NET хоть и позволяют, с определенными ограничениями писать кроссплатформенный софт, но Java/.NET под декстоп и под андроид немного разные вещи - под андроид все равно какую-то часть кода придется писать отдельно (не получится использовать Android UI API под десктопе, так же как и Swing/JavaFX под андроид; у .NET проблемы с WinForms/WPF под Linux, для андроида, насколько я знаю, нужен Xamarin). Почему не рассматриваете возможность сделать веб-интерфейс? |
| Автор: Vady85 15.12.2014, 14:27 | ||
У веб-интерфейса есть свои недостатки, а именно динамичность. JavaScript+HTML+CSS в разных браузерах - сплошной геморрой (очень сильно сказывается на скорости разработки необходимость в предварительном тестировании браузеров всех версий). Плюс некоторые фишки со временем попадают в deprecated. И еще PHP на разных серверах с разными настройками с разными версиями работает по-разному. Проверено лично многолетним опытом. И еще эти все вышеперечисленные языки не являются компилируемыми, что серьезно сказывается на производительности. И еще попробуйте портировать MS Access на линукс-сервере, не говоря уже о других вещах. А тут откомпилировал с нужными библиотеками, и всё. |
| Автор: MyWeb 3.6.2015, 17:38 |
| Джава - универсальный. |
| Автор: Се ля ви 1.7.2015, 16:12 | ||||
Динамичность интерфейсных технологий? Это минус? По-моему, как раз - плюс.
IMHO, Вы немного отстали от рынка. Сейчас не 90-е и даже не 2000-е, а 2010-е - после выхода IE 9 и тем более после перехода Opera`ы на WebKit эта проблема практически ушла, роли распределились примерно так:
Как и в любом другом языке. И, опять же, можно просто не update`ить используемые библиотеки, когда выйдут версии, не поддерживающие нужный Вам scope браузеров. Но в целом я не встречал существенных проблем с обратной совместимостью - тот же HTML5 эволюционно вывели из HTML`а 4-го, хотя это было, прямо скажем, очень непросто сделать.
Так не пишите на PHP. PHP как язык - примитивный и не зрелый, явно дрейфующий в сторону Java. Зачем его использовать, если можно просто взять и использовать Java? Ну а как платформа он довольно слаб и подходит лишь для небольших проектов (Facebook - не контрпример, поскольку они его под себя очень сильно перепилили). На сервере прекрасно работает, действительно, JVM как платформа, наиболее зрелая из существующих сегодня, ну а язык можно брать любой, которым владеете и который подходит, благо их там целый ворох сейчас - Groovy, Scala, Clojure, Kotlin, Ceylon, Ruby, Python, даже реализация Prolog`а есть!.. Сама Java, как язык - старовата, в ней много устаревшего наследственного неадеквата, от которого тяжело избавиться и всяких громоздких синтаксических неудобств. Я последнее время стараюсь ориентироваться на Clojure - это по сути современный Lisp для JVM, на нём, например, можно реализовать концепцию единого языка на Back-end`е и Front-end`е - есть ClojureScript, компилирующийся в JavaScript. Просто идеально ложится на React! |
| Автор: _zorn_ 4.7.2015, 06:44 | ||||||
Как говорится вычеркните лишнее. Java... минимум потребляемых ресурсов ? Вообще на потребляемость уже давно не смотрят. Железо, о котором только можно было мечтать во времена написания всяких книжек по программированию, уже давно бытность. 32 Гб оперативки это стандарт. Может все же вычеркните этот пункт ? Для него нужно только на си писать и всегда следить за памятью. Но это будет дороже, чем купить еще одну планку памяти А по производительности - виноват не язык, а алгоритмы по которым пишут. Так что выбирайте который по душе. Добавлено через 8 минут и 2 секунды
Наверное потому что PHP проще развернуть ? На каждом ссаном хостере есть PHP. А примитивность у вас в голове же ) Будем бодаться холиваром ? Добавлено через 11 минут и 14 секунд
Поэтому не надо полагаться на стандартные функции, а использовать что то универсальное. Какой нибудь компонент из symfony например. Там все учтено. |
| Автор: Sartorius 6.7.2015, 11:39 |
| Возможно будет полезным haXe http://haxe.org/ с OpenFL например |
| Автор: Се ля ви 20.8.2015, 20:21 | ||
Простота разворачивания - это для проектов какого уровня? Хостинги вообще сейчас уступают место облакам - а там ставь себе всё что хочешь. Можно и пободаться, но предмета не вижу: я писал именно про платформу, а не про язык, это - разные вещи: одно дело - библиотеки, фреймворки и компоненты на все случаи жизни, когда за какую бы задачу ты ни взялся - без труда найдёшь кучу инструментария, и совсем другое - язык, при помощи которого ты всем этим оперируешь. Платформу JVM можно сравнивать по мощности с платформой .NET - это да, но с PHP... Java же именно как язык действительно не идеальна, хотя и всё равно лучше PHP, на мой взгляд - но это уже, действительно, дело вкуса, так что если Вам действительно так уж нравится PHP именно как язык - без проблем, есть несколько реализаций PHP как языка для JVM, т.е. его код так же компилируется в байт-код. Например, есть открытый проект JPHP и коммерческая реализация P8 от IBM`а - пожалуйста, нравится PHP - пишите на нём (кстати, есть реализации и для платформы .NET). Язык - это, ведь, инстурмент, так что либо Вы выбираете оптимальный инструмент для решения своей задачи, либо тот, кому нужно решить задачу, выбирает Вас или не Вас, зная, что Вы предпочитаете определённый язык... |
| Автор: DenZurin 21.2.2016, 01:41 |
| Java, C#/WinForms, C++/Qt, Lazarus (open source клон Delphi) - вот в принципе все варианты, выбирай любой Все кроссплатформенны и отлично работают с БД. |