Bahasa pemrograman apa yang harus saya pelajari untuk menjadi pengembang Ubuntu? [Tutup]

22

Meskipun saya telah menggunakan NetBeans satu kali untuk sebuah proyek, bahasa apa yang harus saya pelajari untuk menjadi pengembang Ubuntu yang lengkap?

Proyek saya di NetBeans (hanya Java) adalah merancang kalkulator (relatif mudah). Selain itu, bagaimana kita belajar membuat pemirsa gambar, browser, dll.?

Juga, apa bahasa terbaik untuk aplikasi tertentu?

fffdf
sumber
3
Ini agak subyektif ... Contoh: perl dapat menjadi pengganti python dan sebaliknya tetapi Anda akan menemukan pengguna perl / python yang membenci python / perl tanpa alasan selain karena kekurangan atau pemaksaan indentasi;)
Rinzwind
Jika Anda dapat lebih spesifik tentang apa yang ingin Anda tulis, kami mungkin lebih bisa menjawab tetapi bash ..., Anda mungkin akan mendapatkan banyak pendapat berbeda dan Anda mungkin lebih baik menanyakan ini di Forum Ubuntu: Pengembangan dan Pemrograman
Warren Hill

Jawaban:

31

Jawabannya sederhana dan tidak terlalu membantu. Bahasa apa pun yang dibutuhkan. Ubuntu adalah satu ton perangkat lunak, beberapa ditulis dalam C, beberapa C ++, beberapa di Python, Perl, bash ... dan lainnya. Anda pasti harus belajar scripting dengan bash, dan Anda harus memilih bahasa seperti Perl atau Python, mungkin yang terakhir. Selain itu, mempelajari C kuno yang baik tidak pernah menyakiti siapa pun - Anda belajar lebih banyak tentang cara kerja program, apa perpustakaan, banyak hal tentang alat lain.

Kalau tidak - pertama cari tugas, ceruk, sesuatu yang perlu dikerjakan atau sesuatu yang hilang atau sesuatu yang hanya menarik dan Anda ingin mengerjakannya. Dan kemudian cari tahu bahasa apa yang bagus untuk tujuan itu.

Januari
sumber
5
Sederhana namun akurat;) Bahasa apa pun yang diperlukan untuk menyelesaikan pekerjaan dengan paling efisien.
Rinzwind
3
Sejak OP menyebutkan bahwa ia memiliki pengalaman di Jawa, ada baiknya untuk menyebutkan bahwa Java berjalan dengan baik di Ubuntu juga. Anda bahkan tidak perlu melakukan kompilasi ulang (ketika porting dari OS lain)
BlueRaja - Danny Pflughoeft
@ BlueRaja-DannyPflughoeft Kecuali Anda mengembangkan aplikasi yang membutuhkan panggilan sistem tingkat rendah. Cukup sering Anda akan melihat aplikasi menyediakan perpustakaan platform khusus untuk fitur-fitur ini. Tetapi secara umum ya, Anda benar.
Dennis Eichhorn
ofc bahwa apa pun yang dapat dikompilasi untuk arsitektur cpu tertentu dapat melakukan pekerjaan. Ada aspek yang lebih penting untuk dipertimbangkan ketika seseorang ingin mengembangkan untuk platform tertentu. Seperti berapa lama orang itu harus memulai, apakah dia ingin berurusan dengan manajemen memori, apakah dia ingin melakukan program lintas platform, jenis program apa yang ingin dia buat, apakah dia tahu untuk bekerja dalam tim , Apakah dia ingin membuat komputer yang menyajikan sandwich bacon sambil memijat pengguna atau sistem pendingin udara seluler, langit adalah batas yang dikatakan oleh beberapa orang, dll ...
userDepth
7

Jika Anda bermaksud menulis aplikasi untuk Ubuntu yang dapat berjalan di beberapa perangkat dan faktor bentuk (desktop, ponsel, tablet, TV ...), saya akan merekomendasikan untuk belajar QML dan JavaScript . Pada dasarnya:

  • Gunakan QML untuk menulis aplikasi Ubuntu konvergen yang berjalan melintasi faktor bentuk dan perangkat
  • Gunakan JavaScript untuk melengkapi QML saat menulis aplikasi Ubuntu dan untuk menulis aplikasi web Ubuntu
David Planella
sumber
Bisakah Anda memberi sedikit lebih detail mengapa keduanya cocok?
don.joey
Selesai, saya harap itu memberikan panduan yang jelas :)
David Planella
5

Kamu harus belajar:

  • JavaScript: karena sebagian besar kerangka UI / env. adalah / akan didasarkan pada JavaScript; Anda akan tetap membutuhkannya suatu hari nanti.

Maka untuk yang lainnya Anda akan membutuhkan sesuatu yang lain:

  • C ++ / C
    • pro: luar biasa cepat, akses ke fitur tingkat rendah
    • kontra: banyak waktu untuk belajar bagaimana menulis sesuatu yang stabil, komunitas yang mengerikan
  • Rubi:
    • pro: mudah dipelajari, sangat menyenangkan untuk menulis, komunitas yang hebat
    • kontra: mungkin lambat untuk beberapa tugas (sungguh)
  • Python:
    • pro: banyak paket menggunakan python, komunitas hebat, cepat, dll.
    • kontra: python 3 (hanya kindin ')

Tetapi masih ada banyak bahasa lain seperti Java, dll., Namun, yang disebutkan di atas mungkin lebih mudah untuk memulai, kecuali C / C ++ tetapi yang perlu dipelajari karena Anda akan dapat menggunakannya dengan banyak bahasa lain (misalnya memperluas python, ruby, dll.)

avetis.kazarian
sumber
1

Pekerjaan pemrograman terdiri dari kode aktual, dan model mental di bawahnya.

Mengajari diri Anda sendiri bahasa pemrograman itu mudah selama Anda memiliki konsep dasar tentang bagaimana komputer bekerja, namun untuk memberikan kontribusi yang bermanfaat bagi suatu proyek, Anda juga perlu memahami desain di baliknya.

Dengan demikian, saran saya adalah bergabung dengan sebuah proyek yang sering Anda minati dan gunakan, dan kemudian mulailah dengan pekerjaan penjaminan kualitas:

  • jika ada laporan bug yang agak kabur, cobalah untuk mereplikasi masalah, dan perbaiki deskripsi. Poin bonus untuk tes otomatis.
  • jika ada bug lama yang tidak memiliki perhatian untuk sementara waktu, cobalah untuk melihat apakah masih ada, dan perbarui laporan bug
  • jika ada kegagalan testuite, coba cari tahu apa yang terjadi agar tes ini gagal

Ini akan memungkinkan Anda untuk belajar tentang bagian yang sulit dan konseptual dari proyek pada kurva belajar yang dapat dikelola, sambil tetap mempertahankan minat Anda (karena itu adalah proyek yang Anda sayangi) dan memberi Anda akses ke komunitas di sekitar proyek. Bahasa pemrograman aktual (mana saja yang digunakan dalam proyek) adalah sesuatu yang dapat Anda ambil dengan cepat.

Untuk contoh entri yang agak bertahap, lihat kontribusi saya ke proyek Beignet . Pengetahuan tentang bahasa pemrograman (C / C ++ dalam contoh itu) tentu bukan faktor pembatas di sini.

Simon Richter
sumber
0

Anda harus belajar ... semuanya! Atau lebih tepatnya meta -pelajari semua bahasa. Ketika Anda tahu dua atau tiga bahasa, Anda dapat dengan cepat mempelajari bahasa baru yang mirip dengan bahasa ini. Jika Anda cukup tahu bahasa, Anda "secara virtual" tahu semuanya, dan, yang lebih penting, Anda memahami apa yang merupakan bagian dari bahasa tersebut , dan apa yang berkaitan dengan pemrograman secara independen dari bahasa tersebut. Pada akhirnya, bahasa tertentu tidak relevan.

Jadi, Anda mungkin ingin belajar Java, C, Skema, OCaml, Majelis (setidaknya dua arsitektur), Keempat dan sedikit Prolog, tidak harus dalam urutan itu. Bahasa kedua akan menjadi yang paling sulit, karena Anda harus mempelajari konsep-konsep baru, dan melupakan konsep-konsep yang Anda pelajari dengan bahasa pertama tetapi ternyata salah. Setelah itu mudah dan hanya menjadi lebih mudah.

Kemudian, ketika berhadapan dengan tugas pengembangan spesifik, gunakan bahasa yang paling disesuaikan berdasarkan ketersediaan dan dukungan dari kompiler dan perpustakaan, pengetahuan rekan kerja, hambatan kebijakan dari manajemen, dan sebagainya. Fleksibilitas pikiran adalah kuncinya. Mengetahui banyak bahasa memberikan fleksibilitas ini.

Thomas Pornin
sumber
Mereka semua? Sangat? Lihatlah di sini untuk beberapa program "HelloWorld" klasik. Sebagian besar programmer hanya tahu beberapa bahasa. Hanya penting untuk mengetahui yang Anda butuhkan.
Warren Hill