Подтвердить что ты не робот

Что вы используете для разработки приложений на Linux?

Я опытный разработчик .NET(С#/vb.net) (начиная с бета-версии), и я хотел начать проверять, как разрабатывать приложения для Linux. Я также проделал некоторое программирование на Java. У меня Ubuntu 8.10 Linux, и мне было интересно, что все используют в качестве инструмента для разработки приложений (для любого Linux-вкуса) - это лучший способ перехода на Java?

Я новичок в Ubuntu и не работал в Linux со времен Redhat с использованием терминала, поэтому я все еще довольно новый.

Вот некоторые отзывы, основанные на ответах:

Я бы хотел, чтобы обе стали более эффективными при использовании Linux (хотя бы для O/S) и воспользовались моими навыками разработки, изучив другой язык, такой как Java (в прошлом я создал очень простые Java-приложения... очень просто) - во всяком случае я хотел подумать о чем-то, что только расширит мои навыки.

Я создал много окон и веб-приложений с .NET(некоторые очень большие), и я очень хорошо разбираюсь в языках С#, vb.net и .NET Framework. Я создал много проектов, используя:

.net remoting, веб-службы, wcf (многие последние приложения wcf), приложения для Windows, службы Windows, веб-приложения. Я использую JavaScript при разработке asp.net, а также знаю VBScript и vb6.

Я знаю, что потребовалось бы много лет, чтобы иметь возможность эффективно создавать приложения на другом языке (языках), но я думаю, что это сделает меня более округленным разработчиком - и если Google купит Microsoft и сделает незаконным использование окон, тогда я все еще есть план резервного копирования: -)

4b9b3361

Ответ 1

Это во многом зависит от того, какие приложения вы хотите развивать. Толпа C прилипает к хорошему ol vi/emacs, make, gdb и множеству xterms. Java-люди часто используют кросс-платформенные инструменты, такие как NetBeans и Eclipse. Люди Python, Perl и Ruby часто используют инструменты командной строки, но их IDE становятся все более богатыми. Конечно, многие приверженцы будут командно-лайн жокеями до конца своей карьеры.

Ожидайте еще много субъективных ответов. Я бы пометил его как таковой, если бы у меня был представитель...

Ответ 2

Мир Linux в первую очередь взломан с помощью Bash, Perl, Python и C. Чтобы эффективно использовать Linux, я настоятельно рекомендую ваш мастер этим языкам. Что действительно круто в Linux, так это то, как вы можете легко комбинировать небольшие приложения для быстрого решения проблемы. Когда я говорю Bash, я также имею в виду все небольшие утилиты, такие как gawk, sed, wc, grep и т.д.

Затем это зависит от того, что вы хотите сделать. Если вы хотите, чтобы он был переносимым в окнах. В этом случае IMHO, Java - это путь. (Eclipse и netbeans также могут использоваться в Linux). Моно классно.. пока он не сделает то, что он должен.

Мне лично очень приятно, что многие вещи создаются с использованием только bash.. это означает, что вы действительно можете узнать, изучая эти файлы.. Я помню, что когда я установил Archlinux, я читал настройку bash файл в одно и то же время и выполнял все шаги.

Если вы хотите эффективно использовать Linux, я настоятельно рекомендую: "Практическое руководство по Linux - Команды, редакторы и программирование оболочки" Марка Г. Собелла "

Однако, если вам действительно не нравится мастеринг Linux, и вы "только" хотите закодировать некоторые приложения, то, поскольку вы уже знакомы с .net, использование Mono возможно, но я думаю, что изучение Java - лучший выбор.

И, кстати, научиться использовать vim, если вы планируете использовать Linux, это немного похоже на обучение ходить, если вы хотите запустить.

Ответ 3

Если ваша цель - изучить путь Unix, я рекомендую

  • Напишите некоторые сценарии оболочки, используя bash или ksh. Играйте с помощью sed, awk и другими вещами, которые вы найдете в Kernighan и Pike The Unix Programming Environment.

  • Узнайте немного C и сделайте небольшое программирование на C. Руководство Кернигана и Ричи - классика.

  • Сделайте несколько сценариев. Python - популярный фаворит, но Ruby и Lua также являются прекрасным выбором. Python, вероятно, самый богатый; Ruby - это чисто OO, замужем за операционной системой; Lua является самым быстрым и настолько простым, что вы можете полностью освоить его.

Ответ 4

Если вы хотите использовать свои навыки .NET, Mono - это вариант. Для IDE MonoDevelop продвигается.

Если вы делаете это как упражнение для обучения, я бы держался подальше от Java. В отличие от Mono, который поощряет вас использовать специфичные для Linux функции, Java сильно абстрагируется от ОС. Помимо использования косой черты в именах файлов, вы не можете сказать, что вы программируете в Linux.

Если вы делаете это как карьерный путь, C и Java - лучшие варианты. Моно имеет потенциал, но в настоящее время по-прежнему остается нишевым игроком.

Ответ 5

Я написал профессиональные (то есть вы платите покупать) приложения в Linux. Они были написаны C и/или С++. Они используют библиотеки X11 (которые существовали для Linux с 1993 года и Unix с 1984 года), а затем соблюдали и соблюдали все стандартные аргументы X11 (которые большинство приложений KDE и Gnome) не соблюдали долгую историю стандартных параметров.

Для веб-приложений PHP/mySQL/Apache или Java/Tomcat/Apache при необходимости. Я начал веб-разработку в 1993 году, когда браузер был Mosaic (который был родителем для Netscape и IE), написанный стартерами Netscape, когда они были в колледже. Да, Microsoft лицензировала код Mosaic. Первоначальный браузер Netscape назывался Netscape Mosaic (до того, как он был изменен на Netscape Navigator). "Двигатель был назван" Mozilla "даже в коде Mosaic, и ранний Netscape прочитал" Может быть написано Netscape, но произносится как Mozzila ".

Я знаю, что новое поколение программистов не хочет тратить время на изучение кода на C или С++, и я чувствую, что это большой позор. Код, созданный действительно хорошей программой и компилятором, выполняет "управляемый код" в любой день (но для разработчиков это требует больше навыков).

Ответ 6

Посмотрите Python.

Ответ 7

Java для реальных настольных приложений (в Eclipse) и Python для быстрых и грязных вещей. И это на Убунту Херон. Я предпочитаю использовать Sun Java runtimes (Eclipse поставляется со своим собственным компилятором).

Ответ 8

Вы сделали хороший выбор с Ubuntu, даже с его коммерческой полировкой он сохраняет свои корни Debian как отличную ОС разработки. Вы обнаружите, что большинство библиотек/модулей/языков просты в установке и что пакеты не "маневрируют" в них. Например, у Red Hat была большая проблема с perl, потому что упаковщики вытащили код предварительного выпуска.

В зависимости от типа приложения, которое вы хотите написать. Я бы предложил Python и C. Python упростил пользовательские интерфейсы GTK, C - лучший язык для написания какого-нибудь демона или системного сервиса. Оба упрощают переносимость между различными дистрибутивами Linux. Знакомство с переносимыми сценариями на оболочках было бы неплохо. Если у вас есть время, взгляните на Perl.

Java настолько сильно абстрагируется, что вы действительно не поддаетесь простоте разработки приложений Linux, используя ее. Java - это Java, где бы вы ее ни использовали.

Python - достаточно абстракция, чтобы Linux не пугал вас, пока вы учитесь, C собирается разоблачить вас всеми великими и ужасными вещами, которые могут предложить POSIX-совместимое ядро ​​и библиотека C.

Если вы можете обновить вопрос с идеей того, что вы хотите написать, я уверен, вы увидите более подходящие ответы.

Ответ 9

Возможно, вам захочется посмотреть, какие настольные компьютеры, такие как Gnome и KDE, дают вам. В KDE вы должны разрабатывать с использованием С++ с использованием универсальной библиотеки QT, которая также используется в мобильных/встроенных устройствах.

Для IDE вы можете проверить KDevelop и Eclipse + CDT для задания C/С++. Обучающая автоматическая инструментальная цепочка также должна быть бонусом, поскольку большое количество программного обеспечения для Linux использует это. Однако для личных проектов я бы взял что-то лучшее/новое, например CMake (например, KDE использует CMake).

Для быстрых заданий используйте Python или Ruby - в зависимости от того, что вам больше подходит.