C# и Линукс.

Все о программировании под *nix
Benvenuto

C# и Линукс.

Сообщение Benvenuto »

Подскажите пожалуйста начинающему программисту, есть ли возможность и смысл программировать на C# в Linux? Каковы вообще перспективы этого языка, не только на Linux?
Можно ли найти доки по C# применительно к Linux?
Слышал о mono - платформе .Net Framework для Linux, т. е. наверное, CLR и библиотека классов те же, соответственно, если ли возможность портировать прогу с винды на Linux?

Gnida
Неотъемлемая часть форума
Сообщения: 346
Зарегистрирован: 04 апр 2004, 22:38

Сообщение Gnida »

Мгм , насколько знаю , C# ето какоето изврашенсто мелкомягких на сями , думаю если его компилятор есть под линукс , то он скорее всего будет те хелло ворлд в гигабайты компилировать :)
#include <imho.h>
Не навижу всякие изврашенства , чем вабше по вашему мнению С плох ???
анси язык , возможность переноса на вынь и на *никс ..
----------------------------------
Если все же не согласен напиши на С# ядро Linux для винд :lol::lol:
С опытом ошибки не изчезают , а умнеют

Benvenuto

Сообщение Benvenuto »

C для меня плох своей сложностью, т. к. я не программист по специальности, но два года программировал в профильном классе на Turbo Pascal, затем год на Borland C++ Builder, что в конце концов оставил. Соответственно, ядро и драйверы программировать наврядли придется. Но язык должен быть перспективным и продаваемым.
Если бы я нашел нормальное руководство по C++, то с удовольствием изучал бы его, но везде поясняются только конструкции и очень редко - как написать конкретную программу или сервис.
C# - язык, легкий для старта, платформа вроде интересная, одни и те же библитеки классов применяются для всех .Net языков.
Для того, чтобы сделать полноценный вывод, мне нужно знать оба языка практически в совершенстве, потому меня и интересует заранее мнение знатоков.
На C++ сейчас пишет огромное количество людей - какую конкуренцию тут составит самоучка?
Если сможете посоветовать нормальную книгу - буду благодарен, найду в фалообменных сетях.

Аватара пользователя
kas
Маньяк
Сообщения: 184
Зарегистрирован: 10 июл 2002, 03:15
Откуда: Минск

Сообщение kas »

посмотри Ruby
- Говорят, пингвин - это ласточка разжиревшая от лени?
- Нет. Это ласточка беременная мыслью.

Gnida
Неотъемлемая часть форума
Сообщения: 346
Зарегистрирован: 04 апр 2004, 22:38

Сообщение Gnida »

#include <imho.h>

0. Ну млин .... для всего есть свой сцинеровшики/алгоритмичексе языки
С язык элементарный , по началу согласен СТРАХ
С++ язык слизаный с С намой взгляд отличаеться немного опереторами и синтаксисом
Дельфи - язык просто для настояших баб от егошнего тела мне просто блевать ахота... но простой
ето были языки програмирования
---------------------------
1. теперь HTML ето гипертекст для веба , туп и коряв в тоже время прост на первый згляд , но из-за ооочень неудобного тела оооочень не выгодный , ооочень медленно идет разработка
PHP на мой взгляд совсем не интересная штука , но на нее все пишут Т.К она МОДНАЯ
что, зачем, почему?? каму нужна мода ???
----------------------------
2. Ну и конечно же ПЕРЛ на мой взгляд ето сценеровшик , развившийся просто до громаднейших размеров , его можно отнести к любому пункту
Можно писать и для веб , еще и как можно , скока у вас время на PHP уйдет что написать скрипт IRC чата , ввиде обыной вебстраницы ??


Хотя согласен каждому свое!
Но я уверен то что не надо от одного языка требывать всего сразу,хотя ето иногда надо, а писать на всем , на чем то много на чем то только то что на другом невозможно
Так что на мой взгляд минимальный набор линукс программиста для разроботки ето
С/Perl
С опытом ошибки не изчезают , а умнеют

Аватара пользователя
leikind
Неотъемлемая часть форума
Сообщения: 811
Зарегистрирован: 20 июн 2002, 03:02
Откуда: Брюссель
Контактная информация:

Сообщение leikind »

Benvenuto писал(а):Подскажите пожалуйста начинающему программисту, есть ли возможность
Есть.
Benvenuto писал(а): и смысл программировать на C# в Linux?
Ну вот смысл - это уже очень абстрактно. Ты хочешь, чтобы написанной тобой на C# программе пользовались все пользователи Линукс? Это маловероятно. Хочешь изучить технологию используя при этм Линукс, что-то написать? В этом есть смысл.
Benvenuto писал(а): Каковы вообще перспективы этого языка, не только на Linux?
Правильный вопрос "Каковы вообще перспективы платформы .NET?". Увы, только Господь Бог ответит тебе на этот вопрос.
Benvenuto писал(а): Можно ли найти доки по C# применительно к Linux?
А что такое "доки по C# применительно к Linux?". Ты знаком с концепцией виртуальной машины и единой библиотеки классов, как это в Java и Smalltalk? Суть как раз в том, чтобы API было везде одинаково. На С# и .NET есть ECMA стандарты. Любая реализация .NET должна их реализовать. (Правда, есть поправки. Об этом в ответе на твой следующий вопрос.) То есть ты можешь писать на Mono, используя микрософтовскую документацию. Конечно, есть в свободных реализациях и своя документация, например, у Mono есть симпатичная программка Monodoc. Но документация неполная, хоть и улучшается от версии к версии.
Benvenuto писал(а): Слышал о mono - платформе .Net Framework для Linux, т. е. наверное, CLR и библиотека классов те же, соответственно, если ли возможность портировать прогу с винды на Linux?
Все правильно. Есть Mono, я сейчас им пользуюсь. Кроме Mono есть еще проект PortableNet (DotGNU). Оба они реализуют CLR, компилятор и библиотеку классов. Правда, подходы несколько разные. В Mono все кроме runtime написано собственно на C#, то есть это в первую очередь компилятор. В Portable Net все на С. Далее о портировании. Если не используется библиотека Windows.Forms для рисования пользовательского интерфейса, велика вероятность, что все будет работать без изменений на Mono. Просто все API реализованы не на 100%, в частности Windows.Forms.
Я сейчас пишу в плане самообразования небольшую программку на C#, собираю в Mono, затем копирую файлы в винду и проверяю. Пока все работает. Посмотрим дальше.

Еще один интересный момент - это то, что в Mono не ограничиваются просто реализацией микрософтовских API, но и создают свои - например, GtkSharp - биндинги к Gtk.

Одним словом, начинать писать на С# под Линуксом уже можно, если тебя не пугает отсутствие среды разработки типа Visual Studio.
Изображение

Аватара пользователя
leikind
Неотъемлемая часть форума
Сообщения: 811
Зарегистрирован: 20 июн 2002, 03:02
Откуда: Брюссель
Контактная информация:

Сообщение leikind »

Gnida писал(а):Мгм , насколько знаю , C# ето какоето изврашенсто мелкомягких на сями ,
Бред и неправда.
Gnida писал(а): думаю если его компилятор есть под линукс , то он скорее всего будет те хелло ворлд в гигабайты компилировать :)
Бред, неправда, собственные досужие измышления
Изображение

Аватара пользователя
leikind
Неотъемлемая часть форума
Сообщения: 811
Зарегистрирован: 20 июн 2002, 03:02
Откуда: Брюссель
Контактная информация:

Сообщение leikind »

Gnida писал(а): С++ язык слизаный с С намой взгляд отличаеться немного опереторами и синтаксисом
No comments. C++ - это оказывается С с немного другими операторами. А я то думал все это время......

Остальное skipped, особливо о HTML :lol: :lol: :lol: :lol:
Изображение

Аватара пользователя
leikind
Неотъемлемая часть форума
Сообщения: 811
Зарегистрирован: 20 июн 2002, 03:02
Откуда: Брюссель
Контактная информация:

Сообщение leikind »

Benvenuto писал(а): C# - язык, легкий для старта, платформа вроде интересная,
Не знаю, легкий он или нет, все относительно. То, что C# - довольно богатый язык (хотя бы по сравнению с Java) - это да. Ведь в нем можно работать с указателями, внутри специальных блоков unsafe{} и с особым ключиком для компилятора. Правда, это не очень поощряется. Хотя, впрочем, он гораздо более последовательный и логичный, чем та же Java, как пример - единая иерархия типов, в отличие от Java, где примитивные типы болтаются как уши спаниэля, а рядом дублирующие их классы, и до версии 1.5 нельзя было сказать Integer i = 5;
Benvenuto писал(а): одни и те же библитеки классов применяются для всех .Net языков.
Это ты очень правильно подметил, это очень немаловажный фактор.
Изображение

Benvenuto

Сообщение Benvenuto »

Спасибо за пояснения :-)
Подскажите, пожалуйста, какую-нибудь книгу по C++, написанную в детском стиле, с примерами небольших программ, для старта.

Аватара пользователя
sm
Неотъемлемая часть форума
Сообщения: 431
Зарегистрирован: 12 мар 2004, 16:03
Контактная информация:

Сообщение sm »

Быть может Эккель?
http://mindview.net/Books/TICPP/ThinkingInCPP2e.html

Возможно кое-что здесь найдешь полезное:
http://cprogramming.com/
Хороший сайт, не забудь заглянуть на форум, возможно там есть ответы на твои вопросы:
http://cboard.cprogramming.com/

И вообще есть одна книга, которая мне нравится - "Самоучитель по С++" от Герберта Шилдта - все объясняется последовательно, даются задания, в конце глав задаются вопросы для самоконтроля, написана (или переведена?) нормальным языком, один недостаток - в электронном виде нет.

Про мертвого страуса я молчу - читать обязательно, правда пишет он в _очень_ недетском стиле:
http://lib.ru/CPPHB/cpptut.txt

Benvenuto

Сообщение Benvenuto »

Спасибо!
По поводу Шилдта кое-что нашел:
http://bookzz.by.ru/comp/shildtgerb01.rar

Benvenuto

Сообщение Benvenuto »

И еще:
http://khpi-iip.mipk.kharkiv.edu/librar ... index.html
Это самоучитель в приемлемом формате и с кодом.

Аватара пользователя
sm
Неотъемлемая часть форума
Сообщения: 431
Зарегистрирован: 12 мар 2004, 16:03
Контактная информация:

Сообщение sm »

Benvenuto писал(а):И еще:
http://khpi-iip.mipk.kharkiv.edu/librar ... index.html
Это самоучитель в приемлемом формате и с кодом.
Посмотрел pdf-ки, сверил с книгой - это то, о чем я говорил :o.
Да, поспешил я сказать, что нету этой книги в эл. виде, видать несколько лет назад плохо искал.
В общем читай. Кстати, для более глубокого понимания все примеры лучше набирать вручную и компилировать.

Benvenuto

Сообщение Benvenuto »

Еще раз спасибо :-)
Ошибок там, кстати, море, видно, на совести того, кто книжку сканировал или набирал. Но все равно, разжевано все на славу, больше нигде такого не встречал. Не помешал бы английский вариант, для сравнения кода, т. к. есть вещи типа <iostream,h
Может, кто знает, где Эккеля можно найти на родном? :-)

Ответить