Программирование в Linux (или Windows)
Модератор: Модераторы разделов
-
- Сообщения: 27
- ОС: Debian 4.0r0 "Etch"
Программирование в Linux
У меня возник вопрос по поводу обучения программирования!!! В какой ОС лучше учится программировать, ну я имею ввиду системное программирование на С или С++ - нужен и тот, и другой.
-
- Сообщения: 2268
- Статус: Линукссаксовец
- ОС: MS Windows XP Home SP3
Re: Программирование в Linux
странный вопрос.
Что Вы имеете в виду под "системным программированием"?
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.
0xDEFEC8ED
0xDEFEC8ED
-
- Сообщения: 435
- Статус: Ленивый энтузиаст
- ОС: F12 x86_64
Re: Программирование в Linux
И главное, чему это программирование обучать?
|^^^^^^^^^^^|______
|_____ПИВО_____|','''|'''''''''\____,,
|_______________| _|'____|____|
*'(@)'(@)'''''''|(@)(@)******|(@)*
|_____ПИВО_____|','''|'''''''''\____,,
|_______________| _|'____|____|
*'(@)'(@)'''''''|(@)(@)******|(@)*
-
- Сообщения: 135
- ОС: FreeBSD 8.0-RELEASE amd64
Re: Программирование в Linux
Раз уж вопрос задан здесь, на линуксфоруме, то и ответ должен быть аналогичным - конечно же *никс. Учиться в самом деле проще на открытых никсах, особенно системному программированию: проще добраться до ядра, можно там же посмотреть, как делают другие. Иными словами, преимущества открытых систем здесь проявляют себя во всех красе.
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Программирование в Linux
в той, в которой разные инструменты для этого(редакторы, компиляторы, отладчики, и прочее) и так уже есть, а не докупаются за килобаксы. Кроме того, даже самая примитивная прога должна как-то взаимодействовать с ОС, хотя-бы напечатать hello world, для этого нужны header'ы ядра, а их тоже нету обычно(для чего-то чуть более сложного чем печать текста). В общем система для домохозяек - не лучший выбор

-
- Сообщения: 2268
- Статус: Линукссаксовец
- ОС: MS Windows XP Home SP3
Re: Программирование в Linux
1) В винде Вы можете использовать большинство опенсурсных редакторов, компиляторов отладчиков и прочего прочего..
2) Для винды доступны бесплатные ограниченные версии коммерческих средств разработки, которых нет под линукс
Оо
на счет хедоров ядра - Вы ошибаетесь
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.
0xDEFEC8ED
0xDEFEC8ED
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Программирование в Linux
конечно. можно хидеры от M$VC взять, которые к API обращаются... Это не ядро конечно.
порты в большинстве случаев довольно кривые...
угу. уж больно они ограниченные... я предпочитаю нормальным ПО пользоваться, на край - ***. но это не игрушка какая-то...
-
- Сообщения: 2268
- Статус: Линукссаксовец
- ОС: MS Windows XP Home SP3
Re: Программирование в Linux
в линуксе, Вам нужны хедоры от glibc (ну и других библиотек), а не от ядра.
С ядром в линуксе Вы взаимодействуете через механизм системных вызовов, что тоже API.
Си он и в Африке си.
Опенсурс в винде роано такой же кривой как и в Линуксе
ПО для разработки программ - это не игрушка, а инструмент, который вполне стоит тех денег, которых за него просят.
Для обучения программированию вполне хватает и ограниченного функционала. ( и не сильно он ограничен, чем Вы пытались пользоваться? на чем основано Ваше мнение о ограниченности этих программ?)
Если б виндовс и те инструменты, которые там есть, были бы настолько плохи, все программисты давно перешли бы на линукс (они же не домохозяйки).
Давай те не будем флеймить, и дождемся когда придет автор и уточнить, что он имеет ввиду под "системным программированием"
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.
0xDEFEC8ED
0xDEFEC8ED
-
- Сообщения: 135
- ОС: FreeBSD 8.0-RELEASE amd64
Re: Программирование в Linux
Вы уверены? А много ли в винде модулей ядра я могу посмотреть и изучить?
nesk писал(а): ↑04.01.2009 18:55ПО для разработки программ - это не игрушка, а инструмент, который вполне стоит тех денег, которых за него просят.
Для обучения программированию вполне хватает и ограниченного функционала. ( и не сильно он ограничен, чем Вы пытались пользоваться? на чем основано Ваше мнение о ограниченности этих программ?)
Не нравится gcc? Есть свободный Sun Studio, а также бесплатный для некоммерческого использования ICC, а это уже совсем не игрушки. А что может предложить Microsoft?
-
- Сообщения: 2268
- Статус: Линукссаксовец
- ОС: MS Windows XP Home SP3
Re: Программирование в Linux
AestheteAnimus писал(а): ↑04.01.2009 19:32
Вы уверены? А много ли в винде модулей ядра я могу посмотреть и изучить?
Вопрос был не в этом.
Конечно доступность исходных кодов - это большой плюс.
Но разговор не о том.
Я лишь говорю, что опенсурсные программы есть и под винду.
AestheteAnimus писал(а): ↑04.01.2009 19:32nesk писал(а): ↑04.01.2009 18:55ПО для разработки программ - это не игрушка, а инструмент, который вполне стоит тех денег, которых за него просят.
Для обучения программированию вполне хватает и ограниченного функционала. ( и не сильно он ограничен, чем Вы пытались пользоваться? на чем основано Ваше мнение о ограниченности этих программ?)
Не нравится gcc? Есть свободный Sun Studio, а также бесплатный для некоммерческого использования ICC, а это уже совсем не игрушки. А что может предложить Microsoft?
Опять же. ответ на на тот вопрос. Отлично, что все это есть. про игрушки опять же первый заговорил не я. Кроме Микрософт, есть еще и Борланд.
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.
0xDEFEC8ED
0xDEFEC8ED
-
- Сообщения: 3340
- Статус: It's the GNU Age
- ОС: Debian
Re: Программирование в Linux
В какой ОС лучше учится программировать, ну я имею ввиду системное программирование на С или С++ - нужен и тот и другой.
А мне вот кажется странным, что у кого-то вообще мог возникнуть такой вопрос. Поэтому даже не знаю, с какой стороны пытаться на него ответить.
Если Вам кратко - то в ОС под названием GNU/Linux. Или в любой другой, где полностью свободны все исходные коды, от ядра системы до прикладных программ и компиляторов - к примеру, в тех же *BSD.
-
- Сообщения: 2041
- Статус: ☮ PEACE ☮
- ОС: открытая и свободная
Re: Программирование в Linux
системное программирование лучше учить там, где открыты системные вызовы (syscall) + есть документация.
Эта ОС у Вас, как я вижу, уже установленна

Labor omnia vincit
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
-
- Сообщения: 2268
- Статус: Линукссаксовец
- ОС: MS Windows XP Home SP3
Re: Программирование в Linux
Stauffenberg писал(а): ↑04.01.2009 20:35
системное программирование лучше учить там, где открыты системные вызовы (syscall) + есть документация.
Эта ОС у Вас, как я вижу, уже установленна![]()
Да, или лучше использовать ту систему, у которой стандартизирован и формализован API для создания модулей (драйверов) и взаимодействия с железом.
Основная причина проблем при создании бинарных драйверов - отсутствие ABI интерфейса для создания драйверов в Linux ядре. С другой стороны, достаточно нестабильный API, меняющийся от релиза к релизу, мешает поддержке обособленных open source драйверов или пересборке проприетарных
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.
0xDEFEC8ED
0xDEFEC8ED
-
- Сообщения: 460
- ОС: openSUSE
Re: Программирование в Linux
Почитал и не проникся.
На мой взгляд, учиться "программированию вообще" можно и под Linux, и под Windows. Основные критерии выбора - наличие доступных инструментов (для Windows это важно) и вкусы людей, к которым можно обращаться за помощью.
Ну а системному программированию надо учиться на той платформе, на которой предполагается затем этим системным программированием заниматься.

На мой взгляд, учиться "программированию вообще" можно и под Linux, и под Windows. Основные критерии выбора - наличие доступных инструментов (для Windows это важно) и вкусы людей, к которым можно обращаться за помощью.
Ну а системному программированию надо учиться на той платформе, на которой предполагается затем этим системным программированием заниматься.
-
- Сообщения: 2268
- Статус: Линукссаксовец
- ОС: MS Windows XP Home SP3
Re: Программирование в Linux
Фантом писал(а): ↑04.01.2009 22:42Почитал и не проникся.![]()
На мой взгляд, учиться "программированию вообще" можно и под Linux, и под Windows. Основные критерии выбора - наличие доступных инструментов (для Windows это важно) и вкусы людей, к которым можно обращаться за помощью.
Ну а системному программированию надо учиться на той платформе, на которой предполагается затем этим системным программированием заниматься.
разумно.

Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.
0xDEFEC8ED
0xDEFEC8ED
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Программирование в Linux
угу. и ничего на чистом си не написать. это даже K&R говорили

ИМХО удобнее когда ОС и её библиотеки открыты, причём для любого.
я так не считаю. ИМХО.
они и переходят вроде... Конечно важно, по до что будем дальше работать, как научимся...
-
- Сообщения: 2041
- Статус: ☮ PEACE ☮
- ОС: открытая и свободная
Re: Программирование в Linux
o_0
Вы действительно так считаете?
Labor omnia vincit
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
-
- Сообщения: 2268
- Статус: Линукссаксовец
- ОС: MS Windows XP Home SP3
Re: Программирование в Linux
на счет денег - конечно да.
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.
0xDEFEC8ED
0xDEFEC8ED
-
- Бывший модератор
- Сообщения: 5989
- ОС: OS X, openSuSE, ROSA, Debian
Re: Программирование в Linux
AestheteAnimus писал(а): ↑04.01.2009 19:32Не нравится gcc? Есть свободный Sun Studio, а также бесплатный для некоммерческого использования ICC, а это уже совсем не игрушки. А что может предложить Microsoft?
Visual Studio. Дать ссылку на скачивание или сами найдете? Для обучения Express Edition - выше крыши.
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Программирование в Linux
ага. как кататься на машине со снятыми колёсами - для обучения самое то.
-
- Сообщения: 2268
- Статус: Линукссаксовец
- ОС: MS Windows XP Home SP3
Re: Программирование в Linux
опять лживые аналогии.
Какой конкретно функциональности Вам не хватает в этой версии VS?
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.
0xDEFEC8ED
0xDEFEC8ED
-
- Сообщения: 135
- ОС: FreeBSD 8.0-RELEASE amd64
Re: Программирование в Linux
Если мне не изменяет память, то в ExEd был только .net компилятор, который в контексте системного программирования мягко говоря абсурден. Даже если я путаю, и там есть Си-компилятор (соответствие стандурту мелкомягкого компилятора - отдельная история), то даже это не меняет моей мысли. Сравните сами уровень предоставляемых инструментов для изучения: недоIDE мелкомягких и полноценный пакет ICC, хотя, и то и другое - коммерческие продукты.
-
- Сообщения: 1450
-
- Сообщения: 2268
- Статус: Линукссаксовец
- ОС: MS Windows XP Home SP3
Re: Программирование в Linux
AestheteAnimus писал(а): ↑05.01.2009 01:46
Если мне не изменяет память, то в ExEd был только .net компилятор, который в контексте системного программирования мягко говоря абсурден.
изменяет
Visual Studio Express состоит из следующих независимых компонентов:
- Visual Basic Express Edition
- Visual C Sharp Express Edition
- Visual C++ Express Edition
- Visual J# Express Edition (только в версии 2005, не включен в линейку VS2008 Express)
- Visual Web Developer Express Edition
- SQL Server Express Edition
по поводу системного программирования
http://www.microsoft.com/express/ru/hardwaredevelopment/
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.
0xDEFEC8ED
0xDEFEC8ED
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Программирование в Linux
может Вы и правы. Несколько лет назад я бы поспорил, но сейчас и я не помню, и версии уже другие.
Если не тяжело, опишите основные отличия, пожалуйста(в гугле ещё меня не забанили, но вы же знаете маркетологов от M$, как они распишут)...
-
- Сообщения: 135
- ОС: FreeBSD 8.0-RELEASE amd64
Re: Программирование в Linux
Ну так читайте по тем ссылкам, которые приводите: "В пакет не входит Platform SDK..". Да, конечно, "данный Platform SDK можно скачать", но это как раз то, о чем я говорил: полноценного пакета Вам никто не дает.
nesk писал(а): ↑05.01.2009 01:55по поводу системного программирования
http://www.microsoft.com/express/ru/hardwaredevelopment/
Смешно... И как этот мелкомягкое чудо для "поделок" связано вообще с системным программированием?
Вообще непонятно, зачем это поделие? Если почитаем RDS Overview то конечно же увидим громкую фразу в духе уличных зазывал:
Scalable and Extensible Platform
The RDS programming model can be applied to a variety of robot hardware platforms, enabling users to transfer their skills across multiple platforms. The programming interfaces can be used to develop applications on single or multi-core processors.
Но дочитав до конца, а именно вот до этого:
Develop using a wide range of programming languages
With RDS, robotics applications can be developed using a selection of programming languages, including those in Microsoft Visual Studio® and Microsoft Visual Studio Express® (C# and VB.NET), as well as scripting languages such as Microsoft Iron Python®. Third-party languages that support the RDS services-based architecture are also supported.
видим, что и сюда они решили запихнуть свой ненаглядный дотнет (если хотите, можете сходить к MSDN-у и убедиться, что RDS использует дотнет). Учитывая все это, становится очень смешно, как же они собираются обеспечивать "Scalable and Extensible Platform"
-
- Сообщения: 243
- ОС: Win7/Ubuntu 11.10
Re: Программирование в Linux
AestheteAnimus писал(а): ↑05.01.2009 02:23Ну так читайте по тем ссылкам, которые приводите: "В пакет не входит Platform SDK..". Да, конечно, "данный Platform SDK можно скачать", но это как раз то, о чем я говорил: полноценного пакета Вам никто не дает.
Вот правильная ссылка: http://en.wikipedia.org/wiki/Microsoft_Vis...C.2B.2B_Express
Это в MSVC Express 2005 надо было ставить Platform SDK отдельно, а в 2008 уже все встроенно и можно сразу создавать нативные приложения. Основные отличия от полной версии: нельзя ставить никакие addons, в комплекте нет библиотеки MFC. Но для разработки с помощью библиотеки Qt и системы сборки CMake отлично подходит. Кое в чем даже лучше чем Eclipse+CDT+MinGW: компилятор однозначно лучше, чем старый gcc 3.4.5 из MinGW, интеграция с отладчиком также лучше.
-
- Бывший модератор
- Сообщения: 5989
- ОС: OS X, openSuSE, ROSA, Debian
Re: Программирование в Linux
AestheteAnimus писал(а): ↑05.01.2009 01:46Сравните сами уровень предоставляемых инструментов для изучения: недоIDE мелкомягких и полноценный пакет ICC, хотя, и то и другое - коммерческие продукты.
ICC - это Intel C++ Compiler? Так оно вроде компилятор и интегрируется в VS, Eclipse, Xcode в зависимости от платформы. IDE с набором компиляторов не очень корректно сравнивать.
-
- Сообщения: 27
- ОС: Debian 4.0r0 "Etch"
Re: Программирование в Linux
Приветствую. На счет системного программирования я понимаю ИМХО разработка\усовершенствования ядра и драйверов для ОС. Меня особенно напрягает ситуация с дровами под *NIX - почем не сделать дрова для *NIX удобными?? Именно удобными - скачал, установил и все работает, а не надо перекомпилировать половину ядра для того чтобы заработал тот или иной девайс - как пример USB web cam или вот привет для win-модем.
P.S. Такой вопрос - какой дистрибутив Linux наиболее адаптирован для программиста, может вопрос глупый, но передо мной стоит выбор либо установить Debian 4.0r0 или покупать OpenSUSE 11.0 за 25$ (стоит или нет).
P.S. Такой вопрос - какой дистрибутив Linux наиболее адаптирован для программиста, может вопрос глупый, но передо мной стоит выбор либо установить Debian 4.0r0 или покупать OpenSUSE 11.0 за 25$ (стоит или нет).
-
- Сообщения: 283
- ОС: Slackware 12.2
Re: Программирование в Linux
Странно, openSuse на то и openSuse что за нее платить не надо. Что Вы подразумеваете под словом адаптирован?
Ich weiss, dass ich nichts weiss, aber wissen Sie es auch?
Завистники на что не взглянут,
подымут вечно лай,
А ты себе своей дорогою ступай,
Полают, да отстанут. Крылов
Завистники на что не взглянут,
подымут вечно лай,
А ты себе своей дорогою ступай,
Полают, да отстанут. Крылов