nixp.ru v3.0

22 октября 2017,
воскресенье,
04:05:18 MSK

DevOps с компанией «Флант»
slice написал 27 июня 2004 года в 23:51 (468 просмотров) Ведет себя как мужчина; открыл 39 тем в форуме, оставил 244 комментария на сайте.

В одном из номеров Chip`a была написана статья о кроссплатформенных приложениях. Был даже небольшой пример написанный на Kylix. Насколько сложно писать программы для винды и одновременно для Линукса? Ведь нужно разбираться в устройстве обоих систем. Есть ли у кого-нибудь опыт написания подобных программ? Стоит ли вообще заниматься таким видом программирования?

Uncle Theodore

Пиши на Джаве и не заботься об устройстве разных систем… :-) Тока все равно будет «ни богу свечка, ни черту кочерга»

Good Luck,

UT

Genie

чтоб не повторять атмосферку — есть немного тут.

Saying that Java is nice because it works on all OS’s is like saying that anal sex is nice because it work on all genders.

slice

А можно ли написать кроссплатформенную программку на С ?

Fatal

cebka, ты круто заявил о Java, прямо в точку!!!

Я чего-то не встречал, чтобы на Си писали в виндоусе (разве только в досе). Там как правило на Си++. И используют API функции и библиотеки различных сред (типа MFC, VCL). И самой сабой это все не порет на *nix.

А на фига тебе кроссплатформенность, пиши под *nix.

slice

Да я записался на курсы по программированию на С++. Естесственно там Visual С. Смогу ли я применить эти знания при программировании в *nix?

Fatal

Я работал на Borland C++Builder, и теперь читаю в книгах про *nix, что не понятно на форуме спрашиваю…

Короче знания Visual C++ поможет тебе только как знание синтаксиса языка C++ (ну и стандартные классы и функции — эти знания тоже можно перенести в *nix). В *nix другие системные вызовы, другая работа с устройствами, другие библиотеки.

Переходи на *nix там свободы больше…

slice

Поэтому я и здесь. Набираться знаний по никсам и программированию :)

vnp
pravednik
Да я записался на курсы по программированию на С++. Естесственно там Visual С. Смогу ли я применить эти знания при программировании в *nix?

При правильном отношении к материалу — безусловно сможете.

Скорее всего, на вас посыпется каша сведений из трех областей:

1. Собственно C/C++ — язык и его выразительные средства

2. Платформа — специфичные для MS библиотеки и прочее

3. Особенности инструмента (Visual Studio) — как создавать проекты, и вообще на какие кнопки нажимать

Вашей задачей будет научиться сортировать эти сведения по их областям, тогда вы освоите и первое, и второе, и третье. В частности, настоятельно рекомендую делать домашние задания не в Studio, а в какой-нибудь другой среде; лучше всего, в командной строке. Если под рукой есть линукс, старайтесь, чтобы задание можно было бы собрать и там и там.

Успехов

DJ-Andrey-sXe

> А можно ли написать кроссплатформенную программку на С ?

Можно.

> Я чего-то не встречал, чтобы на Си писали в виндоусе

Ещё как пишут (и не просто для себя, а реально известный софт)

> …Там как правило на Си++. И используют API функции и библиотеки

> различных сред (типа MFC, VCL). И самой сабой это все не порет

> на *nix.

Не совсем. Есть CLX, призвание которой как раз позволить «попереть».

Только вот объёмистые бинарники получаются, как впрочем и с vcl.

Но если ты сам заюзал WinAPI, то тут делу уже не поможешь.

Придётся искать другие пути реализации фрагмента алгоритма без WinAPI.

>Смогу ли я применить VisualC++-знания при программировании в *nix?

Сможешь, если будешь грамотно отличать, тчо тебе преподают.

Наверняка всё начнётся с введения в синтаксис, затем писанина консольных приложений и только потом переход у WinAPI + MFC,

т. е. плавный переход в гуи или может быть +ATL, +etc.

Но так или иначе нужно в c/c++ въехать. И тогда будет ясно как

вообще писать и всё равно будет под что. Главное дело, которое

останется до перехода в никсы, так это изучить их специфику.

Кстати, я по себе знаю, лучше для того, чтобы понять, что ваяешь

на VisualC++, почаше заглядывать в заголовочные/исходные файлы.

Ведь зачастую за тем, что ms называет функциями, скрываются либо

обёртки из стандартных библиотек, а то и вообще макросы.

Ещё лучше, заранее разбираться, что есть стандартная вещь

для C++, а что — специфическая от ms, коего в vc++ довольно много.

Это отрицательно сказывается на том, когда исходник, который вроде

даже нормально выглядет, вроде соответствует стандарту ansi, а

фиг два скомпилишь в никсах. Вот пожалуй некоторые мои мысли,

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

всех граблях и подводных камнях кроссплатформенности.

targon

Писать-то можно. Например, под qt. wxWindows — мало ли кроссплатформенных либ?

slice

Мне вот интересно, почему никто не упоминул о таком языке как Python. К сожалению, я не очень хорошо с ним знаком, но я слышал, что благодаря ему обеспечивается очень хорошая многоплатформенность.

pol

«Мне вот интересно, почему никто не упоминул о таком языке как Python. К сожалению, я не очень хорошо с ним знаком, но я слышал, что благодаря ему обеспечивается очень хорошая многоплатформенность.»

Да там ХОРОШАЯ мультиплаформенность, как и у любого интерпритируемого языка, интерпритатор есть почти под любую платформу.

pol

Кстати СОВЕТУЮ ознакомиться http://python.ru/

Это касается любого скриптового языка. О питоне также можно почитать и на python.manual.ru Язык весьма хороший и правильный. Мне нравится.

Xwine
pravednik
В одном из номеров Chip`a была написана статья о кроссплатформенных приложениях. Был даже небольшой пример написанный на Kylix. Насколько сложно писать программы для винды и одновременно для Линукса? Ведь нужно разбираться в устройстве обоих систем. Есть ли у кого-нибудь опыт написания подобных программ? Стоит ли вообще заниматься таким видом программирования?

нужно использовать кроссплатформенный набор библиотек : glib,GTK+&co etc .

на счёт Qt&co не знаю .

Xwine
pravednik
А можно ли написать кроссплатформенную программку на С ?

да . весь GTK такой

Uncle Theodore

Ну, с сугубо философской точки здрения, это делается так. Выбирается кроссплатформенные библиотеки, которые абстрагируют те части кода, которые зависят от системы или от железа. И соответственно, они и используются, где только возможно в коде. Джава абстрагирует все. OpenGL абстрагирует графику. И т.д. Проблемы те же, что и с джавой: подобные библиотеки работают «так себе» во всех системах, усредняют возможности, и требуют тонкой доводки в каждой системе. Но в принципе, так делать можно. Но не нужно… :-)

Good Luck,

UT

anonymous
pravednik
В одном из номеров Chip`a была написана статья о кроссплатформенных приложениях. Был даже небольшой пример написанный на Kylix. Насколько сложно писать программы для винды и одновременно для Линукса? Ведь нужно разбираться в устройстве обоих систем. Есть ли у кого-нибудь опыт написания подобных программ? Стоит ли вообще заниматься таким видом программирования?