Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Религиозные войны > Почти универсальный язык для Windows и Linux


Автор: Rusak 22.6.2007, 12:20
Здравствуйте, у меня возникся вопрос. Может, он покажется диким или, наоборот, интересным.
Короче, я хочу изучать язык программирования и среду программирования того языка. Но одно едиственное условие: написанная в Windows программа должна работать и в Linux. А мне не хочется изучать два языка и каждый раз компилировать программу. Это во-первых, а во-вторых, мой заказчик так заказал, на мой взгляд, идиотский заказ.
Что делать? Посоветуйте, какой язык и какая среда программирования?

Автор: Sartorius 22.6.2007, 12:23
Жаба. больше ничего достойного на сегодняшний день нет

Автор: Rodman 22.6.2007, 14:36
PHP

Автор: Rusak 25.6.2007, 11:43
Цитата(Rodman @ 22.6.2007,  14:36)
PHP

Мне кажется, что PHP ориентирован для работы в Internet.

Автор: nitr 25.6.2007, 13:39
Perl, PHP это надеюсь вам известные, а так очень много скриптовых языков.
Так же можно и C, C++, Pascal ;)

Автор: JackYF 25.6.2007, 15:08
C++ + QT.

Автор: Rusak 6.7.2007, 14:12
Spasibo vam za vnimanie...
Ya uje rechil etu zadachu: Lazarus
Vot evo site: www.lazarus.org
Esli ne ochibaus...

Автор: Yanis 6.7.2007, 14:34
Цитата(Rusak @  6.7.2007,  15:12 Найти цитируемый пост)
Ya uje rechil etu zadachu: Lazarus

Это не язык.
Это что то вроде расширения для Free Pascal. 
IDDE, если угодно.

Автор: Rusak 12.7.2007, 13:19
Ну и что с того, что он -- расширение FreePascal...
Зато он сильно облегчил мне работу...

Автор: Samotnik 12.7.2007, 19:16
Цитата(Rusak @  22.6.2007,  12:20 Найти цитируемый пост)
 я хочу изучать язык программирования и среду программирования того языка

ЯЗЫК??   --  Только JAVA!!!  он платформенно независимый, поэтому хоть винда хоть макОС хоть что ....
Вы ведь просили язык программирования! 

Автор: Rusak 24.7.2007, 11:09
Цитата(Samotnik @ 12.7.2007,  19:16)
Цитата(Rusak @  22.6.2007,  12:20 Найти цитируемый пост)
 я хочу изучать язык программирования и среду программирования того языка

ЯЗЫК??   --  Только JAVA!!!  он платформенно независимый, поэтому хоть винда хоть макОС хоть что ....
Вы ведь просили язык программирования!

Ты прав. Но мне один программист сказал, что самое лучшее решение -- это Си. Так как, по его мнению, Си не требует перекомпиляции, а Ява перекомпилируется. 
Кому верить? Я привык к Дельфи, и задумался написать на родном же языке. в результате поиска решений я пришел к выводу, что Лазарус нормален и не уступает Си и Яве...

Автор: JackYF 24.7.2007, 13:50
Цитата(Rusak @  24.7.2007,  11:09 Найти цитируемый пост)
Но мне один программист сказал, что самое лучшее решение -- это Си. Так как, по его мнению, Си не требует перекомпиляции

Выпал в осадок... Все неинтерпретирумые языки требуют в принципе перекомпиляции программы (или ее части) при изменении исходного кода. Или ты программиста не так понял, или он не программист на Си.

Цитата(Rusak @  24.7.2007,  11:09 Найти цитируемый пост)
Кому верить?

Все будут говорить разное, каждому нравится свой язык. Попробуй то, другое, третье. Сердце подскажет smile

Автор: Shaggie 24.7.2007, 14:12
1) компилируемые языки. Берёшь исходник программы, работающей на одной платформе, и компилируешь под другую. С, асм, паскаль и что там ещё любят...

2) интерпретируемые (компилируемо-интерпретируемые) языки. берёшь работающий скрипт / байт-код программы, работающеё на одной платформе, и запускаешь на другой. Ява, перл, питон и ещё всякие штуки...

Важно: использование платформонезависимых библиотек, никаких вызовов низкоуровневых функций. Иначе придётся переписывать исходник в любом случае, независимо от того, какой подход испольован.

Важно №2: внимательно следить за версией компилятора/интерпретатора (виртуальной машины). И на одной-то системе часто траблы возникают по этому делу, а уж на разных...

Цитата(Rusak @  24.7.2007,  12:09 Найти цитируемый пост)
Но мне один программист сказал, что самое лучшее решение -- это Си. Так как, по его мнению, Си не требует перекомпиляции, а Ява перекомпилируется. 

Ой, ну и бред, извините... Может, наоборот?

Автор: v2v 24.7.2007, 18:30
imho начинать с явы не правильно , хотя знать её надо.
изучай С++. Зная его ты слёгкостью сможешь "переориенитовыватся" на любой другой язык, включая яву.

Добавлено через 2 минуты и 27 секунд
Цитата(Rusak @ 24.7.2007,  11:09)
Я привык к Дельфи, и задумался написать на родном же языке. в результате поиска решений я пришел к выводу, что Лазарус нормален и не уступает Си и Яве...

делфи уже мало помалу уходит на задний план и скаждым годом всё более теряет сваю популярность.

Автор: Samotnik 25.7.2007, 01:35
Цитата(Rusak @  24.7.2007,  11:09 Найти цитируемый пост)
самое лучшее решение -- это Си.

Ну как сказать....... я бы поспорил
Цитата(Rusak @  24.7.2007,  11:09 Найти цитируемый пост)
 Так как, по его мнению, Си не требует перекомпиляции, а Ява перекомпилируется. 

 smile    Интересненько,..... но не правда!!!!! smile 

Автор: bilbobagginz 25.7.2007, 02:39
судя по постам, у человека есть уже заказчик, а язык он еще не знает.
ситуация абсурдная, ну да ладно.

написал я програмку на MFC, под виндой. скомпилировал статически.

и зпускается она на ура под линуксом через wine.

так что это тоже вариант.


Цитата

imho начинать с явы не правильно , хотя знать её надо.

обоснуй.

начинать нужно с языка, в котором можно сосредоточиться на алгоритмическом решении, и не заморачиаться с аллокациями памят и т.д.
java - катит, python - тоже хорошо катит.


Автор: Samotnik 26.7.2007, 01:42
Фишка  Java  в чем?!?!??!!?!?!?!?!??!!?
В том, что в нем существует, такая вещь как  БАЙТ КОД.  Это, то , что вы можете запускать, хоть на  винодовс, хоть на макинтоше, хоть на линуксе, хоть........
ВОД!!!   Волшебная вещь, на самрэч!!!!

Автор: Rusak 27.7.2007, 11:04
Хорошо. У меня в очередной раз возникся вопрос: JBuilder -- это Java?

Добавлено через 5 минут и 33 секунды
Цитата(v2v @  24.7.2007,  18:30 Найти цитируемый пост)
делфи уже мало помалу уходит на задний план и скаждым годом всё более теряет сваю популярность


Извини, но я с вами не согласен...
Это, во-первых, так думают программисты на С,  VB и что-то другое...
Но не будем спорить о достоинствах и недостатках того или иного языка...
Во-вторых, я просил дать мне советы, на каком языке писать программу...
Кстати, я начал изучать JBuilder, так как мне кажется, что это диалект языка Java.

Автор: W4FhLF 27.7.2007, 13:23
Цитата(Samotnik @  26.7.2007,  01:42 Найти цитируемый пост)
В том, что в нем существует, такая вещь как  БАЙТ КОД.  Это, то , что вы можете запускать, хоть на  винодовс, хоть на макинтоше, хоть на линуксе, хоть........ВОД!!!   Волшебная вещь, на самрэч!!!!


Дело не столько в байт-коде сколько в возможностях интерпретатора(виртуальной машины), которая его исполняет. 

Автор: Samotnik 27.7.2007, 23:06
Цитата(W4FhLF @  27.7.2007,  13:23 Найти цитируемый пост)
Дело не столько в байт-коде сколько в возможностях интерпретатора(виртуальной машины), которая его исполняет.

Безусловно, но байт-код, сам по себе хорошо спроектирован, т.к. он  предназначен для выполнения виртуальной Джава машиной. В то время, исходный текст, скажем в С++ компилируется в выполняемый код. Фактически большинство современных языков разработано для Компиляции, а не интерпритации - главным образом по соображениям эффективности выполнения.

Автор: Rusak 7.8.2007, 15:09
Извини, но я повторяю свой вопрос. Вы так и не ответили на мой вопрос.
JBuilder -- это диалект Явы?

Автор: En_t_end 7.8.2007, 20:17
Вот мне интересно, кто здесь пишет про Java. Ыыы... вы сами пробывали хоть что-нибудь серьезное десктопное на жабе ? Я не пробывал, но решил вот поюзать немного софта с халявного Solaris Express DVD(к слову соляра из-за её жаберности требует минимум 768 Мб ОЗУ ну или это стоит в первых пунктах), решил поюзать NetBeans IDE smile ооооочень тормозит. Вывод: на данный момент жаберные проекты(десктопные) себе могут позволить только очень расточительные клиенты. А в России к примеру до сих пор многие офисы сидят на 3-4 пнях нижайшей комплектации. ИМХО если стоит задача переносимости Win-Lin, то либо C++ + QT либо с использованием других кросс-пл. либ. Хотя, 
Цитата(bilbobagginz @  25.7.2007,  06:39 Найти цитируемый пост)
написал я програмку на MFC, под виндой. скомпилировал статически.
и зпускается она на ура под линуксом через wine.

Весьма апетитно ! Ибо под виндой - максимальное быстродействие, под Linux'ом тоже не очень медленно. + минимум заморот для программиста. + собирать один раз
Но Java не подходит для десктопных приложений клиентурой которых будут российские пользователи.  smile Кто не верит пусть поставит себе соляру и посмотрет на жабу в действии. Vista отсыхает

Автор: Mayk 7.8.2007, 20:36
ИМХО легче изучить питон, чем яву и тем более си.
Ну во всяком случае по моим субъективным ощущением писать логику на питоне ГОРАЗДО легче чем на сях/яве.

Цитата(En_t_end @  8.8.2007,  00:17 Найти цитируемый пост)
Вот мне интересно, кто здесь пишет про Java. Ыыы... вы сами пробывали хоть что-нибудь серьезное десктопное на жабе ? 

Пробовал дважды. Получилось в половине случаев. 

Автор: En_t_end 7.8.2007, 20:41
К тому же у Java в контексте Linux-Windows есть маленькая проблема с байт-кодом. Точно не скажу, но помоему были судебные разбирательства Sun и Microsoft по поводу вольно-интерпретируемости Microsoft спецификации Java-байт-кода на своих платформах. Именно ведь поэтому появилась J# или как там Жаба-минор-зарешетченная ? А вот что твориться сейчас с переносимостью Java-байт-кода с Sun-овских или дружеских платформ на виндузные мне неизвестно, может так до сих пор и осталась проблема  smile

Добавлено через 1 минуту и 6 секунд
Цитата(Mayk @  8.8.2007,  00:36 Найти цитируемый пост)
Пробовал дважды. Получилось в половине случаев. 

Всмысле ?  smile 

Автор: sergejzr 7.8.2007, 21:02
Цитата(Rusak @  7.8.2007,  14:09 Найти цитируемый пост)
JBuilder -- это диалект Явы? 

JBuilder - это среда программирования. (Также, как фотошоп-среда для рисования в jpg smile))
Да, для резработки приложений на языке Java.

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

Добавлено через 3 минуты и 20 секунд

Цитата(En_t_end @  7.8.2007,  19:17 Найти цитируемый пост)
вы сами пробывали хоть что-нибудь серьезное десктопное на жабе ?

В нашем секторе практически всё на Java программируется. Большое и маленькое. 
Пример удачного приложение - та же эклипса.
А в в щеб-программинге java - вообще первый выбор.


Модератор: тема уходит в религиозные войны  smile 

Автор: En_t_end 7.8.2007, 21:16
Цитата(sergejzr @  8.8.2007,  01:02 Найти цитируемый пост)
В нашем секторе практически всё на Java программируется.

потому что в западных странах ИМХО думают не о том как бы побольше сэкономить(проблема в России ИМХО, а экономят у нас на всём, на оборудовании, на программистах, на грамотном ведении проектов) а том как бы это всё работало в будущем, да ещё и эффективно. 
Цитата(sergejzr @  8.8.2007,  01:02 Найти цитируемый пост)
Пример удачного приложение - та же эклипса.

Помоему я пробывал её, по ощущениям вспоминаю, что действительно тормозило умеренно, эффективность на уровне.
Цитата(sergejzr @  8.8.2007,  01:02 Найти цитируемый пост)
А в в щеб-программинге java - вообще первый выбор.

Здесь спорить не буду, говорю только о десктопных приложениях.

Автор: LSD 9.8.2007, 23:57
Цитата(v2v @  24.7.2007,  19:30 Найти цитируемый пост)
изучай С++. Зная его ты слёгкостью сможешь "переориенитовыватся" на любой другой язык, включая яву.

Уже неоднократно слышал подобный подход:
Цитата
Начинай с С++, а там легко освоиш все остальное.

И плевать, что человеку нажо сейчас, не через пол-года, год, а сейчас. Учи С++ пригадицца.


Цитата(En_t_end @  7.8.2007,  21:17 Найти цитируемый пост)
Вот мне интересно, кто здесь пишет про Java. Ыыы... вы сами пробывали хоть что-нибудь серьезное десктопное на жабе ? Я не пробывал, но решил вот

Каждый день пробую, и что? 

А привычка:
Цитата
Не читал, но осуждаю!

далеко не самая лучшая smile 

Автор: En_t_end 11.8.2007, 06:52
Цитата(LSD @  10.8.2007,  03:57 Найти цитируемый пост)
далеко не самая лучшая

Ты не полностью цитату скопировал:
Код

Вот мне интересно, кто здесь пишет про Java. Ыыы... вы сами пробывали хоть что-нибудь серьезное десктопное на жабе ? Я не пробывал, но решил вот поюзать немного софта с халявного Solaris Express DVD(к слову соляра из-за её жаберности требует минимум 768 Мб ОЗУ ну или это стоит в первых пунктах), решил поюзать NetBeans IDE

Цитата(LSD @  10.8.2007,  03:57 Найти цитируемый пост)
Каждый день пробую, и что? 

ы, и как не жалуешься ? у тебя какое железо ?

Автор: LSD 11.8.2007, 11:48
Цитата(En_t_end @  11.8.2007,  07:52 Найти цитируемый пост)
ы, и как не жалуешься ? у тебя какое железо ?

Та же IDEA по производительности сравнима с VS 2005 + ReSharper. Ну и плюс я пишу GUI приложения на Java и представляю себе их производительность.

Цитата(En_t_end @  11.8.2007,  07:52 Найти цитируемый пост)
у тебя какое железо ?

P4 3 GHz, 1.5 Gb RAM, остальное думаю не принципиально.

Автор: En_t_end 11.8.2007, 19:17
Цитата(LSD @  11.8.2007,  15:48 Найти цитируемый пост)
P4 3 GHz, 1.5 Gb RAM, остальное думаю не принципиально.

Интересно, все клиенты имеют подобную комплектацию ?
1.5 Ghz(кеши обоих уровней довольно слабые), 256 Mb RAM - вот средняя комплектация офисного клиента в России. Это ещё оптимистичные предположения. Если брать в расчет что обычно приложение на Java - не единственное запущенное то вообще плохо.

Автор: LSD 11.8.2007, 22:28
Цитата(En_t_end @  11.8.2007,  20:17 Найти цитируемый пост)
Интересно, все клиенты имеют подобную комплектацию ?

Какую скажем, такую и поставят smile

Цитата(En_t_end @  11.8.2007,  20:17 Найти цитируемый пост)
1.5 Ghz(кеши обоих уровней довольно слабые), 256 Mb RAM - вот средняя комплектация офисного клиента в России. Это ещё оптимистичные предположения. Если брать в расчет что обычно приложение на Java - не единственное запущенное то вообще плохо.

Для Java критична только память, проца хватит. С жругой стороны для Vista этого компа тоже не хватит, но Майкрософт это же не останавливает smile

Автор: Hidrag 5.9.2007, 10:56
En_t_end, есть клиентский (GUI) софт на джаве очень-очень навороченный. Хочешь пример? Пожалста: форма "РосГосСтрах" учетная система АРМ3 полностью J2SE приложение - чем то напоминает 1С Предприятие (система прав, возможности, учет, расчет, отчетная составаляющая). Проект состоит из более 3000 классов + всякие либы, ресурсы.... Вполне комфортно с ним работается на 512 мб памяти (но для компиляции из исходников нужно раза в три больше). Софтинка юзается по всех отделениях страны.
Тормознутось и повышенные требования к памяти у Java софта напрямую зависит от квалификации написавшего его программиста - если все делать грамотно тормозить не будет и памяти хватит  smile 

Автор: JackYF 5.9.2007, 16:48
Цитата(Hidrag @  5.9.2007,  10:56 Найти цитируемый пост)
тормозить не будет и памяти хватит  smile 

ээ... оо... в Java же автоматический сборщик мусора, каким образом разработчик может управлять памятью? (ну разве что кроме идиотского добавления ненужных переменных, и то не факт...)

Автор: Daevaorn 5.9.2007, 16:53
Цитата(JackYF @  5.9.2007,  17:48 Найти цитируемый пост)
ээ... оо... в Java же автоматический сборщик мусора, каким образом разработчик может управлять памятью? 

Запускать GC самому в нужный момент хотя бы. Ну и архитектура правильная .

Автор: Fantasist 5.9.2007, 22:45
Цитата(Daevaorn @  5.9.2007,  13:53 Найти цитируемый пост)
Запускать GC самому в нужный момент хотя бы. Ну и архитектура правильная . 



  Да ну по моему это фигня. Исследовние показали, что попытки управлять Garbage Collector'ом в Java не приносят никакой хорошей эффективности. 

  Архитектура и кодирование согласен - это то что реально может помочь в грамотном использовании памяти. smile Просто из-за автоматической сборки бывает, что люди просто начинают плодить множество экземпляров мелких классов, дефрагментируя и засоряя память. Ну плюс знание некоторых особенностей организации классов Java и самой Java.

  А вообще я бы тоже реккомендовал Java для кросс-платформенных приложений, несмотря на то, что я ее не очень люблю (хоть и работаю на ней уже давно). Несмотря на то, что GUI преложения мне на ней кажутся тяжелыми. С другой стороны, практика показывает, что сейчас корпоротивные приложение весьма удобно создавать на web. Сейчас интерфейс пользовательский на web нарисовать чаще всего значительно проще, а Java для такого рода приложений действительно выбор N1 особенно говоря о кросплатформенности.  То есть если корпоративное приложение, то я бы его реккомендовал делать на Web технологиях, а если кросплатформенное, то на Java. 

  Конечно, не всегда это возможно, но я бы весьма реккомендовал эту опцию.





Автор: Artemios 6.9.2007, 15:47
Цитата(JackYF @  25.6.2007,  16:08 Найти цитируемый пост)
C++ + QT. 

&&
Цитата(bilbobagginz @  25.7.2007,  03:39 Найти цитируемый пост)
python - тоже хорошо катит.


Я бы советовал Python + PyQt
Хорошее GUI c хорошей ООП-идеологией от Qt плюс гибкость и скорость разработки от Python.

У нас в "команде" практически все, кто с плюсов, кто с шарпа, перешли на эту связку.

P.S. Тут же и кроссплатформенность, хоть тебе Lin, хоть Win, хоть Mac...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)