LINUX.ORG.RU

Начинаю постигать С#


0

1

блин скачал http://mirknig.com/k...ukovodstvo.html мол полное руководство прочитал 44 страницы и вдруг нам потребуется Visual Studio 2010 И первый код примера :

/,* это простоя программа с C# назовем ее Example.cs. */ using System; class Example { //Любая программа с C# начинается с вызова Main(). static void Main() { Console.WriteLine(«Простая программа на C#.»); } }

Я ожидал что-то типа пишем не важно на чем он везде одинаков компилер в этоге это всеравно приведет в единицы и нули ка быть ? на Must_Die очень как не тянет

а начало так нравилось



Последнее исправление: Rebbit (всего исправлений: 1)

поставь monodevelop вместо visual и работай в нем, автор этого руководства просто использовал свою любимую IDE

vaino
()
Ответ на: комментарий от vaino

спасибо понял :) второй вопрос , если я к примеру написал программу она одинаково будет работать на must_dit! и nix ? ^) ( мне кажется нубский вопрос но что поделать надо было читать название топика :) )

Rebbit
() автор топика
Ответ на: комментарий от Rebbit

она одинаково будет работать на must_dit! и nix ?

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

vaino
()
Ответ на: комментарий от Rebbit

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

gizzka ★★
()
Ответ на: комментарий от Rebbit

а как компилить написанное тоесть я сохранил в файл hello.c при gcc -o hello hello.c

hello.c:6:2: ошибка: unknown type name «using» hello.c:8:2: ошибка: unknown type name «class» hello.c:8:16: ошибка: expected «=», «,», «;», «asm» or «__attribute__» before «{» token

есть в самом MonoDevelop Compiler ?

Rebbit
() автор топика
Ответ на: комментарий от Rebbit

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

drBatty ★★
()
Ответ на: комментарий от drBatty

плиз по порядочку :) gsharp это Win ? а моно это просто средство написания . но когда начинаю пользоваться gsharp там консолька и я хз что с ней делать :) а насчет нет необходимых костылей к примеру что имелось виду плиз :)

Rebbit
() автор топика
Ответ на: комментарий от Rebbit

я в этом не компетентен. Извини. о том, что это за хрень читай здесь: http://lurkmore.to/C_Sharp

накал страстей:

Позже Столлман назвал Мигеля предателем сообщества за то, что тот интегрирует Mono в Gnome, а также за другие не очень хорошие дела, например, за сотрудничество с MS с цельют переноса свободных программ на Windows. В ответ Мигель заметил, что Господь любит всех живых существ, даже Столлмана

drBatty ★★
()
Ответ на: комментарий от Rebbit

gcc -o hello hello.c

Плохая идея компилировать программу на C# компилятором для другого языка. Плохая идея номер два: файлу, содержащему программу на C#, давать расширение .c

Используй компилятор моно:

mcs -out:hello.exe hello.cs

Для запуска используй само моно:

mono hello.exe
obinos
()
Ответ на: комментарий от drBatty

ибо нет необходимых костылей, типа моно

У многоуважаемого Ъ, я так понимаю, и питоновские/перловские скрипты не запускаются?

obinos
()
Ответ на: комментарий от obinos

спасибо все подробно благодарю народ :)

Rebbit
() автор топика
Ответ на: комментарий от obinos

obinos

У многоуважаемого Ъ, я так понимаю, и питоновские/перловские скрипты не запускаются?

не. эти отлично запускаются. мимо кассы.

drBatty ★★
()

Начинаю постигать С#

прочитал 44 страницы и вдруг нам потребуется Visual Studio 2010

на Must_Die очень как не тянет

/0

anonymous
()

С# под без .Net не нужен
(.Net в принципе тоже не нужен)

elnair
()
Ответ на: комментарий от Rebbit

второй вопрос , если я к примеру написал программу она одинаково будет работать на must_dit! и nix ? ^)

Если программка простая - будет. Если ты юзаешь какое-то сложное АПИ винды или какую ее системную либу типа винплеера, то не будет. Проверено. Хотя мб и будет, но там с бубном придется прыгать.

Zhbert ★★★★★
()
Ответ на: комментарий от Rebbit

если я к примеру написал программу она одинаково будет работать на must_dit! и nix ?

Да.

anonymous
()
Ответ на: комментарий от Zhbert

Если программка простая - будет. Если ты юзаешь какое-то сложное АПИ винды или какую ее системную либу типа винплеера, то не будет.

Если написать программу, использующую АПИ винды или системную либу, то оно на любом ЯП будет работать только под виндой. Это очевидно, нет?

anonymous
()
Ответ на: комментарий от anonymous

Если написать программу, использующую АПИ винды или системную либу, то оно на любом ЯП будет работать только под виндой. Это очевидно, нет

Нам - да.

Zhbert ★★★★★
()

Простые теги [code] [/code] помогут сделать твой псто более читабельным.

slackwarrior ★★★★★
()
Ответ на: комментарий от Rebbit

Можно натравить на прогамму с мастдая проверялку совместимости MoMa, и она тебе подскажет, переносима твоя прога или нет, если сам не знаешь.

slackwarrior ★★★★★
()
Ответ на: комментарий от Zhbert

Кроссплатформенность она разная бывает. Речь шла о том, что «программа с импользованием АПИ винды работать будет только под виндой». Wine очевидно нарушает это «только». Потому что винда для запуска многих программ, вполне себе используюших АПИ винды, которое вайн до какой-то степени «эмулирует», - не нужна, например. Так что категоричность некоторых суждений, при их очевидной некорректности (или тенденциозности) - поистине удивительна ;)

slackwarrior ★★★★★
()

Я ожидал что-то типа пишем не важно на чем он везде одинаков компилер в этоге это всеравно приведет в единицы и нули ка быть ?

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

slackwarrior ★★★★★
()
Ответ на: комментарий от Zhbert

Нам - да.

И так же очевидно, что если задается вопрос о совместимости, то, понятно, имеется ввиду совместимость «при условии неиспользования специфичных АПИ/библиотек», нет?

anonymous
()
Ответ на: комментарий от slackwarrior

Кроссплатформенность она разная бывает. Речь шла о том, что «программа с импользованием АПИ винды работать будет только под виндой». Wine очевидно нарушает это «только».

А можно поставить ВМ и под ней винду, лол,

anonymous
()
Ответ на: комментарий от anonymous

Можно, но не нужно. Во всяком случае, не обязательно :)

slackwarrior ★★★★★
()
Ответ на: комментарий от anonymous

И так же очевидно, что если задается вопрос о совместимости, то, понятно, имеется ввиду совместимость «при условии неиспользования специфичных АПИ/библиотек», нет?

Опять-таки, это понимаем мы. Вспомни себя -дцать лет назад, когда ты только начинал учить программистику. Ты тогда понимал, что такое API или какие-то там специфические динамические бибилиотеки? Думаю, нет, ты просто писал кое-как куски кода, скопипасченные из учебника, запускал их и радовался. Соврененное поколение «погромистов» не знает таких вещей, как учебник, и вовсю тянется в гугль и на форумы, где разжеваны эти вопросы. Да что там, туда тянемся и мы, прогеры с опытом, но мы, в отличие от них, умеем фильтровать информацию. А теперь смотри пример - человек хочет написать плеер, да-да, простой банальный плеер, открывает гугль и пишет «C# играть мрз». Его сразу же кидает на формы шарперов, где самым распространенным методом играния музыки является использования стандартного Windows Media Playerа, путем подключения в студии одной из его библиотек. Чувак пишет такой код в винде, у него все работает, приходит за каким-то чертом в линукс, пытается стартануть код под моно, и видит фиг, потому что моно тупо не понимает, что от него хотят, ибо нет в линуксе медиа плеера. При этом, думаешь, пишуший будет задумываться о том, что он использует какую-то левую библиотеку? Нет, инфа 146%. Он будет считать, что юзал только возможности сишарпа.

И такие примеров много. Все зависит от того, как ты видишь программистику.

Zhbert ★★★★★
()
Ответ на: комментарий от slackwarrior

slackwarrior

Какие искусственные проблемы. Типа религия не позволит и все такое...

хз. В слаквари искороппки это не работает. В отличие от Over9000 других ЯП. Надо собирать моно...

drBatty ★★
()
Ответ на: комментарий от drBatty

У меня в слаквари все что мне нужно работает. Даже гнум и моно, если понадобятся (не обязательно одновременно :)). Intel C++ компилятора из коробки тоже нет - ну и что? Или проекты пишутся только на том, что есть из коробки? А нету - менять дистр?

slackwarrior ★★★★★
()
Ответ на: комментарий от Zhbert

Значит это случайный человек в программировании... В лучшем случае - случайный в кросплатформенном программировании :)

slackwarrior ★★★★★
()
Ответ на: комментарий от vaino

Или не ставь. Путь мазо^W храбрых - использовать несколько реализаций компилятора.

slackwarrior ★★★★★
()
Ответ на: комментарий от slackwarrior

Значит это случайный человек в программировании... В лучшем случае - случайный в кросплатформенном программировании :)

Ну почему же. Если захочет - разберется. Но вопрос-то изначально был про совместимость =)

Zhbert ★★★★★
()
Ответ на: комментарий от slackwarrior

просто странно... Сколько Патрег разных ненужных ЯП в слаку вставил, а вот про C# почему-то забыл... С гномом-то понятно, ниасилил, но что сложного в C#?

slackwarrior

А нету - менять дистр?

тут скорее менять всё на семёрочку. Потому как эти убогие поделки на C# обычно под моно всё равно не работают.

drBatty ★★
()
Ответ на: комментарий от drBatty

что сложного в C#?

Религия не та.

anonymous
()
Ответ на: комментарий от drBatty

тут скорее менять всё на семёрочку. Потому как эти убогие поделки на C# обычно под моно всё равно не работают.

Еще раз - моно на данный момент практически полностью совместим с дуднетом, за исключением специфичных для винды АПИ и библиотек, которых для линукса тупо нет. Глупо ожидать что твое wpf-приложение заработает в линуксе. И дело тут не в моно/дуднете, а в линуксе - это проблемы линукса, что под него нету wpf. Куча линуксового софта написанного на таком-то с++ под виндой тоже тупо не скомпилируется. Отсюда следует, что с++ - непереносим?

anonymous
()
Ответ на: комментарий от anonymous

И дело тут не в моно/дуднете, а в линуксе - это проблемы линукса, что под него нету wpf.

Это проблема закрытого софта.

Куча линуксового софта написанного на таком-то с++ под виндой тоже тупо не скомпилируется.

4.2

ТС: пиши на С++ с использованием Qt и будет тебе счастье.

Zodd ★★★★★
()
Ответ на: комментарий от drBatty

Сколько Патрег разных ненужных ЯП в слаку вставил

Патрег все-таки исходил из сферических в вакууме среднебольничных потребностей. Другие аргументы, кроме фимозных и религиозных, есть?

тут скорее менять всё на семёрочку.

жыр с монитора - кап-кап...

под моно всё равно не работают

Уметь надо ;)

slackwarrior ★★★★★
()
Ответ на: комментарий от Zodd

Это проблема закрытого софта.

Нет.

4.2

Это что значит? Хочешь сказать, что использующий линуксовое апи софт будет под виндой работать? Нет, не будет. Более того - даже софт, который принципиально под виндой мог бы и заработать, ты собирать просто заебешься. То есть хоть теоретически он и работает, на практике это не так.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.