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


Meskipun saya telah menggunakan NetBeans sekali 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). Terlebih lagi, bagaimana kita belajar membuat gambar pemirsa, browser, dll?

Juga, apa yang akan menjadi bahasa terbaik untuk aplikasi tertentu?


22
2017-07-18 06:45


asal


Ini agak subjektif ... Contoh: perl dapat menjadi pengganti python dan sebaliknya, tetapi Anda akan menemukan pengguna perl / python yang menghina python / perl tanpa alasan selain kekurangan atau memaksa indentasi;) - Rinzwind
Jika Anda bisa lebih spesifik tentang apa yang ingin Anda tulis, kami mungkin bisa menjawab dengan lebih baik tetapi bash kemudian ..., Anda cenderung mendapatkan banyak pendapat yang berbeda dan Anda mungkin lebih baik menanyakan ini di Forum Ubuntu: Pengembangan dan Pemrograman - Warren Hill


Jawaban:


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

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


31
2017-07-18 06:51



Sederhana tetapi akurat;) Bahasa apa pun yang diperlukan untuk menyelesaikan pekerjaan dengan paling efisien. - Rinzwind
Sejak OP menyebutkan dia memiliki pengalaman di Jawa, ada baiknya untuk menyebutkan bahwa Java berjalan dengan baik di Ubuntu juga. Anda bahkan tidak perlu mengkompilasi ulang (saat porting dari OS lain) - BlueRaja - Danny Pflughoeft
@ BlueRaja-DannyPflughoeft Kecuali Anda mengembangkan aplikasi yang membutuhkan panggilan sistem tingkat rendah. Seringkali Anda akan melihat aplikasi yang menyediakan pustaka khusus platform untuk fitur-fitur ini. Tetapi umumnya ya, Anda benar. - Dennis Eichhorn
ofc bahwa apa pun yang dapat dikompilasi untuk arsitektur cpu tertentu dapat melakukan pekerjaan itu. Ada aspek yang lebih penting untuk dipertimbangkan ketika seseorang ingin mengembangkan untuk platform tertentu. Seperti berapa banyak waktu yang orang itu harus mulai, 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 melayani sandwich bacon sambil memijat pengguna atau sistem pendingin udara seluler, langit adalah batas yang dikatakan sebagian, dll ... - userDepth


Jika Anda berniat untuk 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. Intinya:

  • Menggunakan QML untuk menulis aplikasi Ubuntu konvergen yang berjalan di seluruh faktor bentuk dan perangkat
  • Menggunakan JavaScript untuk melengkapi QML saat menulis aplikasi Ubuntu dan menulis webapp Ubuntu

7
2017-07-18 07:18



Bisakah Anda memberikan sedikit lebih detail mengapa keduanya cocok? - don.joey
Selesai, saya harap itu memberikan panduan yang jelas :) - David Planella


Kamu harus belajar:

  • JavaScript: karena sebagian besar kerangka kerja UI / env. adalah / akan didasarkan pada JavaScript; Anda akan membutuhkannya beberapa hari atau lainnya.

Kemudian untuk semua sisanya Anda akan membutuhkan sesuatu yang lain:

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

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


5
2017-07-18 11:55





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

Mengajar bahasa pemrograman sendiri mudah selama Anda memiliki konsep dasar tentang cara kerja komputer, namun untuk memberikan kontribusi yang bermanfaat bagi proyek, Anda juga perlu memahami desain di baliknya.

Saran saya adalah untuk bergabung dengan proyek yang Anda minati dan gunakan secara pribadi, dan kemudian mulai dengan pekerjaan jaminan kualitas:

  • jika ada laporan bug yang agak tidak jelas, 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 testsuite, coba cari tahu apa yang terjadi agar menyebabkan tes ini gagal

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

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


1
2017-07-18 12:40





Anda harus belajar ... semuanya! Atau sebaiknya meta-pelajari semua bahasa. Bila Anda tahu dua atau tiga bahasa, Anda dapat dengan cepat mempelajari bahasa baru apa pun yang mirip dengan bahasa ini. Jika Anda tahu cukup banyak bahasa, Anda "hampir" mengetahui semuanya, dan, yang lebih penting, Anda memahami apa yang merupakan bagian dari bahasa, dan yang berkaitan dengan pemrograman terlepas dari bahasa. 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 khusus, gunakan bahasa yang paling disesuaikan berdasarkan ketersediaan dan dukungan dari compiler dan perpustakaan, pengetahuan tentang rekan kerja, kendala kebijakan dari manajemen, dan sebagainya. Fleksibilitas pikiran adalah kuncinya. Mengetahui banyak bahasa memberikan fleksibilitas ini.


0
2017-07-18 19:27



Mereka semua? Sangat? Lihatlah sini untuk program "HelloWorld" klasik dalam beberapa. Kebanyakan programmer hanya tahu beberapa bahasa. Hanya penting untuk mengetahui yang Anda butuhkan. - Warren Hill