LINUX.ORG.RU

Какой ЯП выбрать для кроссплатформенной разработки из-под пингвина?

 , ,


0

7

Пишу на джаве, и мне от этого плохо. Чувствую, скоро окончательно загнётся разработка на ней под десктоп, и придётся кодить под андроид за еду или страдать в легаси-ынтырпрайзе. Хотелось бы куда-нибудь перекатиться, но как-то сходу не смог придумать, куда именно. Плюсы не то чтобы ниасилил, но близко к тому, да и актуальность их для прикладнухи вызывает у меня некоторые сомнения. C#, возможно, и хорош для винды, но для себя тоже кодить хочется, а ситуация с моно выглядит несколько настораживающе.

Что посоветуете выбрать для изучения? Сделать ставку на Rust и подобные новомодные, или смыть в унитаз мечту о эмбеде и пойти учить питон/пых? Или всё же есть где-то серебряная пуля?

Deleted

Ответ на: комментарий от I-Love-Microsoft

скорее бы этот шлак подох, хотя пусть полуживое гальванизируют - на нем мой любимый double commander написан

Альтернаривные кроссплатформенные RAD IDE предложить можете? Ну и интересно было бы услышать объективные причины, почему lazarus шлак.

aiive
()

Vala - довольно интересная вещь. Есть даже несколько веб фреймворков (fastcgi). На нем пишу себе несколько ботов + gtk интерфейс, для управления ими.

mr_Heisenberg
()

Сделать ставку на Rust и подобные новомодные, или смыть в унитаз мечту о эмбеде

Rust в «эмбеде» ты увидишь только у совсем упоротой хипстоты, ну или если пойдешь работать в мозиллу, а все нормальные люди пишут для таких систем на С++ или С

annulen ★★★★★
()

Тебе идеально подойдёт Kotlin

I60R ★★
()
Ответ на: комментарий от r0ck3r

C# вроде как на онтопик обещают завезти (или уже завезли?)

Завезли в виде отдельного кроссплатформенного продукта - Net.Core. Причем, если MS начнет активно пилит инструменты для него под Linux, то C++ придется очень-очень активно вводить в свой стандарт многие возможности, которые давно есть в C#, а затем очень активно пилить инструменты для них. Иначе C# заменит C++, который станет очень нишевым языком (потому как сейчас основное преимущество C++ в том, что это удобный кроссплатформенный инструмент для широкого круга задач, для которого понятие «ниша» не имеет смысла, потому что его можно вполне удобно использовать почти везде, а не из-за отсутствия сборщика мусора).

Но, пока MS не замечен в активном развитии Net.Core и кроссплатформенных инструментов для него (возможно, потому что в таком случае винда станет совсем не нужна на серверах).

anonymous
()

Не слушай тех, кто советует JavaScript - это ад. Ты ведь хочешь использовать готовые библиотеки, а не непрерывно изобретать велосипед? Так вот, будь готов, что библиотека может оказаться дохлой, документация будет мало соотносится с текущим API, а в новых релизах будут обязательно ломать обратную совместимость. Вплоть до того, что через год окажется, что если скопипастить код Hello world для какого-нибудь вроде как крупного и солидного JavaScript-фреймворка, окажется что он не работоспособен в принципе, потому что его уже успели пару раз переписать с нуля.

На самом деле Java не так уж и плоха. Что бы там не говорили, но у неё кроссплатформенность получше, чем у крестов. Обычно всё ограничивается мелочами, которые легко выловить и исправить. К тому же на Java ещё и сайты пишут. Так что в любом случае без работы не останешься. Если посмотреть на раздел ваканский на том же StackOverflow, то там выше всего зарплаты у C++ и Java.

Касательно C++. Если хочется кроссплатформенности, то тут только Qt, без вариантов.

Если речь идёт про Embedded, то C, иногда C++.

KivApple ★★★★★
()
Ответ на: комментарий от KivApple

Посмотрите на этого типичного неосилятора, с бездумным lib driven development. Виноваты все вокруг, вплоть до Аллаха, но только не программистишка, который не сумел.

anonymous
()
Ответ на: комментарий от anonymous

Ну а кто вам виноват, что жабаскрипто-макаки не осиливают писать нормальные либы. :-)

anonymous
()
Ответ на: комментарий от anonymous

Ну вот мне было нужно из Meteor подключиться к Jabber со стороны сервера. И я не нашёл ни одной библиотеки, которая бы заработала. Причём найденная библиотека не ставилась из-за ошибки сборки другой библиотеки, которая являлась парсером XML (и вроде как единственным потоковым парсером для JS). Мне надо было написать свой парсер XML, а затем свою реализацию протокола Jabber? И ради чего?

Наконец, я плюнул и убедил заказчика, что я напишу проект быстрее и лучше на питоне. Так и вышло.

Сам Meteor при обновлении тоже периодически разваливался. Угадай почему? Потому что в какой-то библиотеки сломали обратную совместимость. Вы тут все ругаетесь на арч, мол надо следить за новостями при каждом апдейте, иначе он сломается. Так вот - в JS надо следить на новостями в 10 раз внимательнее (потому что у арча ломающие обновления уже не помню когда была, а у JS-библиотек каждый мажорный релиз).

Я понимаю, когда тащат огромную библиотеку ради маленькой функции. Это часто не правильно. Но если мне действительно нужна большая часть функционала библиотеки, то почему бы и не притащить её вместо изобретения велосипеда?

Или ты каждый раз когда садишься за разработку десктопного приложения на JS пишешь с нуля свои собственные биндинги к тулкиту, а когда садишься за разработку сервера - свою реализацию роутера и раздатчика статичных файлов? Если да, то я абсолютно прав - JS - это ад.

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 1)
Ответ на: комментарий от KivApple

каждый раз когда садишься за разработку десктопного приложения на JS пишешь с нуля свои собственные биндинги к тулкиту, а когда садишься за разработку сервера - свою реализацию роутера и раздатчика статичных файлов?

ты будто хабрахабр по тегу javascript не читал. Причем, авторы уверены, что это быстро, удобно, поддерживаемо.

Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 1)
Ответ на: комментарий от anonymous

потому как сейчас основное преимущество C++ в том, что это удобный кроссплатформенный инструмент для широкого круга задач, для которого понятие «ниша» не имеет смысла, потому что его можно вполне удобно использовать почти везде, а не из-за отсутствия сборщика мусора

Ну расскажи тогда, почему его давным-давно не заменила Java.

Esper
()
Ответ на: комментарий от KivApple

Касательно C++. Если хочется кроссплатформенности, то тут только Qt, без вариантов.

Ну не так категорично. После появления C++14 и с современным бустом QtCore уже не сильно нужен, QtXml и QtNetwork, кажется, тоже. Разве что GUI, но он нужен не везде, и для него при необходимости можно подобрать отдельную легковесную библиотеку...

Хотя да, Qt даёт всё, сразу и с минимумом геморроя. Но в ней в последнее время многовато глюков...

anonymous
()

Непонятно, какие задачи вы хотите решать. Когда определитесь с задачей, тогда и подбирайте язык для ее решения.

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

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

Deleted
()
Ответ на: комментарий от Esper

Ну расскажи тогда, почему его давным-давно не заменила Java.

Для системных программ - по очевидным причинам, для прикладных, кроме игр, ИМХО, только потому, что Oracle не видит в этом источника дохода, и потому не продвигает/не развивает SE. Даже штатного инструмента для запаковки бинарника для целевой платформы нет.

Deleted
()
Ответ на: комментарий от KivApple

JavaScript - это ад

А мне весьма доставила JS'ная имитация ООП через навешивание методов на методы, таскание контекста вручную и ковыряние в кишках рантайма :D Очень гибкий, но сильно ограниченный язык в сочетании с упоротым сообществом генерирует море лулзов.

На самом деле Java не так уж и плоха

Согласен, но всё выглядит так, будто Оракл собирается утопить платформу (либо утонуть сам).

Deleted
()
Ответ на: комментарий от Deleted

очень гибкий, но сильно ограниченный

кажется, это называется «всё через жопу».

Shadow ★★★★★
()
Ответ на: комментарий от anonymous

то C++ придется очень-очень активно вводить в свой стандарт многие возможности, которые давно есть в C#, а затем очень активно пилить инструменты для них

И получится D

SR_team ★★★★★
()
Ответ на: комментарий от Deleted

хорошо было бы иметь возможность ради единообразия пилить веб на том же языке.

C++ вроде можно в WebAssembly компилировать. Для D есть VibeD

SR_team ★★★★★
()

Если пишешь для себя пиши на коммон лисп, какие сомнения?

anonymous
()
Ответ на: комментарий от Deleted

Сильно ограниченный тут только ты, к сожалению.

anonymous
()

Пишу на джаве, и мне от этого плохо.

от остальных станет еще хуже

актуальность их для прикладнухи вызывает у меня некоторые сомнения

кресты не только предельно актуальны для прикладухи, но и грозятся скоро добраться до web/frontend

Ford_Focus ★★★★★
()
Ответ на: комментарий от Ford_Focus

вот это выдержка

ну вот как-то так <_< зарегался, потом влез в MLP и на три года выпал из жизни. Неудача, да. Наркоман, да.

от остальных станет еще хуже

почему бы это вдруг? Я уверен, что ява - не венец развития ЯП.

web/frontend

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

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.