Решено: Какой язык программирования выбрать для Linux/Mac/Win

Модератор: Модераторы разделов

Аватара пользователя
deninok
Сообщения: 585
Статус: Программист С++
ОС: Debian GNU/Linux

Re: Решено: Какой язык программирования выбрать для Linux/Mac/Win

Сообщение deninok »

(Ink-85) писал(а):На форумах программисты под мак говорят что С++ это фуфло и надо учить обджектив С и Сocoa , а другие говоря наоборот. Что больше подходит к программированию под Мак ?

Не отталкивайтесь от платформы, это не совсем корректно. Вопрос не в том, на чём нужно программировать под Мак, вопрос в том, ЧТО в итоге должно получится. Вы заинтересованы в создании Мак-овских приложений, или же кроссплатформенных? Определитесь с этим.

А по поводу слов типа "С++ это фуфло" скажу одно: холивар будет жив, пока жив Интернет. :)

(Ink-85) писал(а):На чем вообще пишуться современные программы по 3D ?

Многие - на С++.
Спасибо сказали:
Аватара пользователя
Ink-85
Сообщения: 222
Статус: полный привет
ОС: Mac OS, Ubuntu 8.04

Re: Решено: Какой язык программирования выбрать для Linux/Mac/Win

Сообщение Ink-85 »

Писать буду под Мак в XCode вроде он поддерживает C++. Но говорят что если писать под мак то будет разумней В Cocoa и Objective-C т.к. они специально под мак разрабатываются
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: Решено: Какой язык программирования выбрать для Linux/Mac/Win

Сообщение diesel »

Ink-85 писал(а):
30.03.2009 11:22
Писать буду под Мак в XCode вроде он поддерживает C++. Но говорят что если писать под мак то будет разумней В Cocoa и Objective-C т.к. они специально под мак разрабатываются

При использовании Cocoa вам прийдется забыть о кроссплатформенности, как уже сказали выше, либо же для других ОС использовать какой-нить другой фреймворк - те же QT/GTK/WxWidgets. Objective-C насколько я понимаю поддерживается gcc, правда есть нюансы.
Спасибо сказали:
Аватара пользователя
Denjs
Сообщения: 1685
ОС: SuSe 10.2

Re: Решено: Какой язык программирования выбрать для Linux/Mac/Win

Сообщение Denjs »

про "С++ это фуфло" и т.п.

Не стоит забывать и про то, что если вы хотите сделать это OpenSource - то что бы ваш проект имел больше шансов выжить - важно что бы с вашим кодом могло работать как можно больше программистов.
Потому я бы не стал отказываться без (ОЧЕНЬ) веских оснований от C\C++. Просто потому что это "де-факто-стандарт".
QDroid - Среда исполнения и фреймворк для QtScript.
OTPD - Открытые драйвера промышленных принтеров чеков и этикеток (кроссплатформенная подсистема печати).
Спасибо сказали:
Аватара пользователя
Ink-85
Сообщения: 222
Статус: полный привет
ОС: Mac OS, Ubuntu 8.04

Re: Решено: Какой язык программирования выбрать для Linux/Mac/Win

Сообщение Ink-85 »

А что делать, если я потом захочу выпустить две версии программы: одну платную другую нет. Лицензия QT почти ТРИ тонны баксов стоит
Спасибо сказали:
kamre
Сообщения: 243
ОС: Win7/Ubuntu 11.10

Re: Решено: Какой язык программирования выбрать для Linux/Mac/Win

Сообщение kamre »

Ink-85 писал(а):
31.03.2009 12:41
А что делать, если я потом захочу выпустить две версии программы: одну платную другую нет. Лицензия QT почти ТРИ тонны баксов стоит

Nokia как раз недавно выпустила Qt 4.5 по лицензией LGPL, а значит можно клепать проприетарные программки на Qt, линковать динамически и ничего не платить. Так что хоть десять версий, нужно только соблюдать лицензию LGPL, что достаточно просто.
Спасибо сказали:
Аватара пользователя
Ink-85
Сообщения: 222
Статус: полный привет
ОС: Mac OS, Ubuntu 8.04

Re: Решено: Какой язык программирования выбрать для Linux/Mac/Win

Сообщение Ink-85 »

Почитал я вчера LGPL. И что-то я не понял. Я все таки могу сделать программу в виде двух версий одну бесплатную (для обучения), а вторую платную с дополнительными функциями и поддержкой ???, но к обеим придется выкладывать исходники так?Цену я смогу назначать сам?
Спасибо сказали:
Аватара пользователя
Goodvin
Ведущий рубрики
Сообщения: 4333
Статус: ⚝⚠⚒⚑⚖☭☞☣☤&

Re: Решено: Какой язык программирования выбрать для Linux/Mac/Win

Сообщение Goodvin »

Ink-85 писал(а):
01.04.2009 12:56
Почитал я вчера LGPL. И что-то я не понял. Я все таки могу сделать программу в виде двух версий одну бесплатную (для обучения), а вторую платную с дополнительными функциями и поддержкой ???, но к обеим придется выкладывать исходники так?Цену я смогу назначать сам?
Задавайте эти вопросы там, где обсуждают лицензии.
В данной теме это является оффтопиком, если Вы не заметили.
Тема - о выборе языка, а не об особенностях лицензии LGPL
Спасибо сказали:
Аватара пользователя
sarutobi
Сообщения: 676
Статус: Добрость и скромнота
ОС: Debian 5, FreeBSD 6.2/8.0

Re: Решено: Какой язык программирования выбрать для Linux/Mac/Win

Сообщение sarutobi »

как заметил уважаемый Goodvin - это оффтопик. Но для изначального просветления - Вы, как автор, можете выпустить программу одновременно под десятком лицензий (при условии что все "от и до" написано Вами лично). Это Ваше право.
Fire and water, earth and sky - mistery surrounds us, legends never die!
Спасибо сказали:
Аватара пользователя
OCTAGRAM
Сообщения: 28
ОС: Mac OS X

Re: Решено: Какой язык программирования выбрать для Linux/Mac/Win

Сообщение OCTAGRAM »

diesel писал(а):
30.03.2009 12:12
Ink-85 писал(а):
30.03.2009 11:22
Писать буду под Мак в XCode вроде он поддерживает C++. Но говорят что если писать под мак то будет разумней В Cocoa и Objective-C т.к. они специально под мак разрабатываются

При использовании Cocoa вам прийдется забыть о кроссплатформенности, как уже сказали выше, либо же для других ОС использовать какой-нить другой фреймворк - те же QT/GTK/WxWidgets. Objective-C насколько я понимаю поддерживается gcc, правда есть нюансы.

Cocoa — это реализация спецификации OpenSTEP. Не единственная, причём. Под Windows есть Cocotron, только для разработки на Cocotron нужен XCode, а, значит, и Мак ОС. Кроме того, есть GNUStep и его различные форки: mySTEP, QuantumSTEP. Самый продвинутый форк, насколько я понимаю, входит в состав Etoile.

Примером переносимой программы является GNUMail.

Писать на C++ для Cocoa не получится. Для таких языков, как Паскаль и Ада, были сделаны обёртки, предоставляющие родной интерфейс. А для C++ — нет. Вместо этого был сделан гибридный компилятор Objective-C++. Интеграция двух объектных моделей слабая, они живут как бы параллельно. Нельзя скрещивать фичи из разных языков. То есть, писать на Objective C всё равно придётся. Если нет плюсового груза, лучше и не начинать.

Objective C всё же стоящая вещь. С одной стороны, это по–прежнему компилятор C. С другой стороны, в нём можно творить много разных фишек. Компилятор Objective C оставляет довольно много метаинформации про Objective C классы. Используя эту информацию, можно легко сделать RPC. Причём, это ещё и работает относительно быстро. Если объект является прокси, то при вызове метода на основе информации в стеке и метаинформации об аргуметах метода создаётся NSInvokation (action turned into data). Этот NSInvokation можно передать по сети, и запустить его на объекте, для которого был сделан прокси. Как можно было заметить, очень много программ на Маке могут управляться удалённо. Правда, только с Мака. На Windows вроде как есть DCOM, но что–то он не так свирепо задействован, как Distributed Objects на Mac OS X.

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

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

diesel писал(а):
30.03.2009 12:12
QT/GTK/WxWidgets


Как человек, прочувствовавший дух Макинтоша, я располагаю тулкиты в таком порядке предпочтения:
Gecko (почему никто не советует?), wxWidgets, QT, GTK
If you want to get to the top, you have to start at the bottom
Спасибо сказали:
Ostrovuniprah
Сообщения: 25
ОС: openSUSE10.3 openSUSE11 WinXP

Re: Решено: Какой язык программирования выбрать для Linux/Mac/Win

Сообщение Ostrovuniprah »

А что вы скажете про Java.

Синтаксис того же Си.

Можно строить как «обычные» оконные приложения так и сетевые — апплеты, сервлеты. Да и контроль за высвобождением памяти в Си и Си++ полностью на совести программиста, а в Яве этим занимается отдельная подсистема.

По-моему — Java — универсальное средство программирования.
Абсолютной переносимости, конечно нет — каждая ОС имеет свои особенности, но лично я java-приложения разрабатываю под Linux в среде NetBeans 6.5 и без особых сложностей запускаю их под Windows :).
Спасибо сказали:
Аватара пользователя
deninok
Сообщения: 585
Статус: Программист С++
ОС: Debian GNU/Linux

Re: Решено: Какой язык программирования выбрать для Linux/Mac/Win

Сообщение deninok »

(Ostrovuniprah) писал(а):Да и контроль за высвобождением памяти в Си и Си++ полностью на совести программиста, а в Яве этим занимается отдельная подсистема.

Не стоит ставить сей факт в минус языку С++. Потому что в ряде случае мне нужно самостоятельно управлять памятью.

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

(Ostrovuniprah) писал(а):По-моему — Java — универсальное средство программирования.

Смотря что вы подразумеваете под "универсальностью". Но, если говорить строго, то надеюсь, вы не станете отрицать, что С++ более универсален, чем Java?
Спасибо сказали:
Аватара пользователя
OCTAGRAM
Сообщения: 28
ОС: Mac OS X

Re: Решено: Какой язык программирования выбрать для Linux/Mac/Win

Сообщение OCTAGRAM »

Ostrovuniprah писал(а):
04.04.2009 07:35
Да и контроль за высвобождением памяти в Си и Си++ полностью на совести программиста, а в Яве этим занимается отдельная подсистема.

Цена такого удобства — от доступной памяти используется 1/3 или меньше.

Люди сильно возмущаются, когда, купив новый ЖД, обнаруживают, что его объём был указан в десятичных гигабайтах, а в переводе на обычные получается на несколько Гб меньше, да ещё оказывается, под FAT/MFT/etc. место отрезается.

Люди возмущаются, когда узнают, что от Терабайтного ЖД 10% отрезано руту.

Люди бьются за каждый процент.

А тут вот так вот вскладчину отдай 70% оперативки из–за сборщика мусора?
If you want to get to the top, you have to start at the bottom
Спасибо сказали:
frp
Сообщения: 1445
ОС: Debian Squeeze

Re: Решено: Какой язык программирования выбрать для Linux/Mac/Win

Сообщение frp »

Еще в начале темы советовали Qt4+OpenGL, C++, QtCreator. Qt4 - кросплатформенная библиотека (на официальном сайте есть версии под Linux, Mac, Windows). Чем не нравиться?
Спасибо сказали:
Ostrovuniprah
Сообщения: 25
ОС: openSUSE10.3 openSUSE11 WinXP

Re: Решено: Какой язык программирования выбрать для Linux/Mac/Win

Сообщение Ostrovuniprah »

deninok писал(а):
04.04.2009 11:19
(Ostrovuniprah) писал(а):Да и контроль за высвобождением памяти в Си и Си++ полностью на совести программиста, а в Яве этим занимается отдельная подсистема.

Не стоит ставить сей факт в минус языку С++. Потому что в ряде случае мне нужно самостоятельно управлять памятью.

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

(Ostrovuniprah) писал(а):По-моему — Java — универсальное средство программирования.

Смотря что вы подразумеваете под "универсальностью". Но, если говорить строго, то надеюсь, вы не станете отрицать, что С++ более универсален, чем Java?


Я согласен с тем, что вы взяли в кавычки слово универсальность.

Под "универсальностью" я понимаю, во-первых, независимость приложения от операционной системы, в которой оно запускается (не будем далеко ходить, вспомним mucommander — бесплатный двухпанельный файловый менеджер), во-вторых , возможность создания при помощи одного инструмента приложений как «обычных» так и сетевых — клиентских — аплетов и серверных — сервлетов (тут Ява конкурирует с php, python и др.)

Хотя, нельзя забывать особенности тонкой структуры каждой операционной системы, например у файла в ОС Windows нет понятия владельца, а у Unix — есть, и так далее.

Вопрос о выборе языка программирования, по сути — риторический. В некоторых случаях проще колдовать на ассемблере, а когда и на python'е.

Например, cgi-модуль или тот-же Quake3 можно организовать и на ассемблере.

Не хочу казаться радикалом, но лично я признаю только два языка программирования — это вышеупомянутый ассемблер и c/c++.

Я рад, что в мире нашелся энтузиаст написавший ОС с «полноценным» графическим рабочим столом, которая уместилась на дискетку!

Современное развитие языков программирования, похоже, идёт по тому-же пути, что и развитие динозавров — крупнее и тяжелее. Вспомните, когдато 64Мб ОЗУ было чудом, а теперь «два ядра, два гига» - мало.
Спасибо сказали:
Аватара пользователя
TuxWare
Сообщения: 637
ОС: Windows 7

Re: Решено: Какой язык программирования выбрать для Linux/Mac/Win

Сообщение TuxWare »

Goodvin писал(а):
01.04.2009 13:12
Ink-85 писал(а):
01.04.2009 12:56
Почитал я вчера LGPL. И что-то я не понял. Я все таки могу сделать программу в виде двух версий одну бесплатную (для обучения), а вторую платную с дополнительными функциями и поддержкой ???, но к обеим придется выкладывать исходники так?Цену я смогу назначать сам?
Задавайте эти вопросы там, где обсуждают лицензии.
В данной теме это является оффтопиком, если Вы не заметили.
Тема - о выборе языка, а не об особенностях лицензии LGPL

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

Тема расползлась уже на 4 страницы, есть ли уже хотя бы наброски структуры системы. Как строится база данных, как решаются вопросы загрузки третьесторонних расширений и конфликты имен в них, как обрабатываются объекты созданные с помощью третьесторонних расширений при их отсутствии (объект в документе есть, а обработчик увы не передан - какова методика его чтения и отображения, иначе Вы просто не увидите часть документа), будет ли многопоточность и на каком уровне эта многопоточность (приложение, документ, база данных, команда, объект), решен ли вопрос многопользовательской работы над документом (ну хотя бы как в автокаде через подключение чертежей), как решается вопрос зацикливания парамметризации и прочая.
Спасибо сказали:
frp
Сообщения: 1445
ОС: Debian Squeeze

Re: Решено: Какой язык программирования выбрать для Linux/Mac/Win

Сообщение frp »

Повторю свой совет - используй Qt+QtCreator (знаю по личному опыту, что программа работает на MAC/Windows/Linux/FreeBSD, конечно, при условии, что не будут использованы особенности какой-то конкретной системы).
Спасибо сказали:
Аватара пользователя
deninok
Сообщения: 585
Статус: Программист С++
ОС: Debian GNU/Linux

Re: Решено: Какой язык программирования выбрать для Linux/Mac/Win

Сообщение deninok »

frp писал(а):
26.04.2009 10:16
Повторю свой совет - используй Qt+QtCreator (знаю по личному опыту, что программа работает на MAC/Windows/Linux/FreeBSD, конечно, при условии, что не будут использованы особенности какой-то конкретной системы).

Подтверждаю! За FreeBSD не скажу, а за первые три платформы отвечаю: работает.
Спасибо сказали:
Аватара пользователя
RasenHerz
Сообщения: 1341
ОС: Arch Linux amd64

Re: Решено: Какой язык программирования выбрать для Linux/Mac/Win

Сообщение RasenHerz »

deninok писал(а):
27.04.2009 09:06
frp писал(а):
26.04.2009 10:16
Повторю свой совет - используй Qt+QtCreator (знаю по личному опыту, что программа работает на MAC/Windows/Linux/FreeBSD, конечно, при условии, что не будут использованы особенности какой-то конкретной системы).

Подтверждаю! За FreeBSD не скажу, а за первые три платформы отвечаю: работает.

за FreeBSD отвечу я - работает!)
Спасибо сказали:
kamre
Сообщения: 243
ОС: Win7/Ubuntu 11.10

Re: Решено: Какой язык программирования выбрать для Linux/Mac/Win

Сообщение kamre »

А меня вот пока QtCreator не очень впечатлил. В нем даже автокомплиты как-то плохо работают:
Изображение

Да и много чего другого из CDT нет. Хотя для изучения Qt он подходит лучше наверное.
Спасибо сказали:
Аватара пользователя
RasenHerz
Сообщения: 1341
ОС: Arch Linux amd64

Re: Решено: Какой язык программирования выбрать для Linux/Mac/Win

Сообщение RasenHerz »

ну автокомплит именно для классов Qt у него просто замечательный, все методы ищутся и автодополняются, вот совсем простенький пример:
Изображение
особенно мне нравится интерфейс программы - ничего лишнего, высокое поле с кодом.
в том же NetBeans мне приходится отключать тулбар чтобы хоть как то увеличить область отображаемого кода:
Изображение
Спасибо сказали:
kamre
Сообщения: 243
ОС: Win7/Ubuntu 11.10

Re: Решено: Какой язык программирования выбрать для Linux/Mac/Win

Сообщение kamre »

RasenHerz писал(а):
27.04.2009 21:15
ну автокомплит именно для классов Qt у него просто замечательный, все методы ищутся и автодополняются, вот совсем простенький пример...


Ну вот именно что только с совсем простенькими примерами оно и работает. У меня вон на скриншоте не дополняется даже для QMap. Т.е. как только начали использовать шаблоны и перегрузку операторов - сразу перестает работать...
Спасибо сказали:
Аватара пользователя
TuxWare
Сообщения: 637
ОС: Windows 7

Re: Решено: Какой язык программирования выбрать для Linux/Mac/Win

Сообщение TuxWare »

RasenHerz писал(а):
27.04.2009 21:15
в том же NetBeans мне приходится отключать тулбар чтобы хоть как то увеличить область отображаемого кода:

Вам не кажеться, ну чисто случайно, что это не проблема NetBeans, а проблема совершенно иного уровня.

А вот насчет QtCreator Вы правы, ничего лишнего и ничего нужного. Простая вещь
Пишем в pro
CONFIG(debug, debug|release) {
DEFINES = TEST_DEBUG
}

В любом файле проекта
#ifdef TEST_DEBUG
#error Тратата
#endif

Переводим Build configuration -> debug
и наблюдаем #error Тратата неиспользуемым (сереньким), как будто TEST_DEBUG не определен, а при компиляции мы все таки получим error Тратата. Добавление конфигураций (Build configuration) не возможно. Кстати той же болезнью страдает и qt-eclipse-integration.
Спасибо сказали:
Аватара пользователя
RasenHerz
Сообщения: 1341
ОС: Arch Linux amd64

Re: Решено: Какой язык программирования выбрать для Linux/Mac/Win

Сообщение RasenHerz »

Вам не кажеться, ну чисто случайно, что это не проблема NetBeans, а проблема совершенно иного уровня.

я и не говорю, что это проблема, просто хотел подчеркнуть некоторые плюсы QtCreator.
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: Решено: Какой язык программирования выбрать для Linux/Mac/Win

Сообщение Portnov »

iУведомление от модератора

На вопрос автора все ответы даны. Рекламу убираю, возмущения, извините, тоже. Тема закрыта.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали: