it-roy-ru.com

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

Хотя я однажды использовал NetBeans для проекта, какие языки мне нужно выучить, чтобы стать полноценным разработчиком Ubuntu?

Мой проект в NetBeans (только Java) заключался в разработке калькулятора (относительно легко). Кроме того, как нам научиться делать просмотрщики изображений, браузеры и т.д.?

Кроме того, какой язык будет лучшим для определенных приложений?

22
fffdf

Ответ прост и не очень полезен. Какой язык нужен. Ubuntu - это тонна программного обеспечения, некоторые из которых написаны на C, некоторые на C++, некоторые на Python, Perl, bash ... и другие. Вы обязательно должны научиться писать скрипты на bash, и вы должны выбрать язык, такой как Perl или Python, возможно, последний. Кроме того, изучение старого доброго C никогда никому не навредит - вы узнаете больше о том, как работают программы, что такое библиотеки, много всего о других инструментах.

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

31
January

Если вы собираетесь писать приложения для Ubuntu, которые могут работать на нескольких устройствах и в разных форм-факторах (настольный компьютер, телефон, планшет, телевизор ...), я бы порекомендовал изучить QML и - JavaScript . По существу:

  • Используйте QML для написания конвергентных приложений Ubuntu, работающих на форм-факторах и устройствах.
  • Используйте JavaScript для дополнения QML при написании приложений Ubuntu и для написания веб-приложений Ubuntu
7
David Planella

Вы должны изучить:

  • JavaScript: как и большинство UI-фреймворков/env. являются/будут основаны на JavaScript; он вам все равно понадобится когда-нибудь.

Тогда для всего остального вам понадобится что-то еще:

  • C++/C
    • плюсы: удивительно быстро, доступ к низкоуровневым функциям
    • минусы: много времени, чтобы научиться писать что-то стабильное, ужасное сообщество
  • Рубин:
    • плюсы: легко учиться, действительно приятно писать, отличное сообщество
    • минусы: может быть медленным для какой-то задачи (правда)
  • Python:
    • плюсы: много пакетов в Python, отличное сообщество, быстрый и т. д.
    • минусы: python 3 (просто добро)

Но есть еще много других языков, таких как Java и т.д., Однако, вышеупомянутое может быть более простым для начала, кроме C/C++, но которое стоит изучить, поскольку вы сможете использовать его со многими другими языками (например, расширением Python, Ruby и т. д.)

5
avetis.kazarian

Программная работа состоит как из самого кода, так и из ментальной модели под ним.

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

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

  • если есть сообщение об ошибке, которое несколько расплывчато, попробуйте воспроизвести проблему и улучшить описание. Бонусные баллы за автоматизированный тест.
  • если есть старая ошибка, на которую некоторое время не обращали внимания, попробуйте проверить, существует ли она, и обновите отчет об ошибке.
  • если есть ошибки testuite, попробуйте выяснить, что происходит, чтобы этот тест не удался

Это позволит вам узнать о сложной, концептуальной части проекта на управляемой кривой обучения, сохраняя при этом ваш интерес (потому что это проект, который вас интересует) и предоставляя вам доступ к сообществу вокруг проекта. Фактический язык программирования (какой бы ни использовался в проекте) - это то, что вы можете подобрать на лету.

Для примера несколько постепенного вступления, посмотрите на мой вклад в проект Beignet . Знание языка программирования (в данном случае C/C++), безусловно, не является ограничивающим фактором.

1
Simon Richter

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

Таким образом, вы можете изучить Java, C, Scheme, OCaml, Assembly (по крайней мере, две архитектуры), Forth и немного Prolog, не обязательно в таком порядке. Второй язык будет самым сложным, потому что вам придется как выучить новые концепции, так и забыть концепции, которые вы выучили на первом языке, но оказались неверными. После этого это легко и только становится легче.

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

0
Thomas Pornin