Ubuntu geliştiricisi olmak için hangi programlama dillerini öğrenmeliyim? [kapalı]


22

NetBeans'ı bir proje için bir kez kullanmış olmama rağmen , tam teşekküllü bir Ubuntu geliştiricisi olmak için hangi dilleri öğrenmem gerekiyor?

NetBeans'taki projem (yalnızca Java) bir hesap makinesi tasarlamaktı (nispeten kolay). Ayrıca, resim görüntüleyenler, tarayıcılar vb.

Ayrıca, bazı uygulamalar için en iyi dil hangisidir?


3
Oldukça öznel ... Örnek: perl, python ve diğer yönler için bir ikame olabilir ancak
çirkinlikten yoksun bırakma

Eğer biz o zaman cevap ama bash daha iyi olabilir yazmak istiyorum hakkında daha fazla özgü olabiliyorsa ... Farklı görüşlerin çok almak için muhtemeldir ve daha iyi bu soran olabilir Ubuntu Forumlar: Geliştirme ve Programlama
Warren Hill

Yanıtlar:


31

Cevap basit ve pek yardımcı değil. Hangi dil gerekli ise. Ubuntu, bir kısmı C, bazıları C ++, bazıları Python, Perl, bash ... ve diğerleri yazılı bir ton yazılımdır. Kesinlikle bash ile yazmayı öğrenmeli ve muhtemelen ikinci olan Perl veya Python gibi bir dil seçmelisiniz. Ayrıca, eski moda C öğrenmeyi asla kimseye zarar vermez - programların nasıl çalıştığını, kütüphanelerin neler olduğunu, diğer araçlarda birçok şeyi öğrenirsiniz.

Aksi halde - ilk önce bir görev, bir niş, üzerinde çalışılması gereken veya eksik olan veya büyüleyici olan ve üzerinde çalışmak istediğiniz bir şey bulun. Ve sonra hangi dilin bu amaç için iyi olacağını öğrenin.


5
Basit ama doğru;) İşi en verimli şekilde yapmak için hangi dil gerekli olursa olsun.
Rinzwind

3
OP, Java’da deneyime sahip olduğundan bahsettiğinden, Java’nın Ubuntu’da da iyi çalıştığını belirtmek faydalı olacaktır. Yeniden derlemenize bile gerek yok (başka bir işletim sisteminden taşıma yaparken)
BlueRaja - Danny Pflughoeft

@ BlueRaja-DannyPflughoeft Düşük seviye sistem çağrıları gerektiren bir uygulama geliştirmiyorsanız. Genellikle, bu özellikler için platforma özel kütüphaneler sağlayan uygulamalar görürsünüz. Ama genel olarak evet, haklısın.
Dennis Eichhorn

Belli bir cpu mimarisi için derlenebilecek herhangi bir şeyin işi yapabilmesi. Birisi belirli bir platform için geliştirmek istediğinde dikkate alınması gereken daha önemli hususlar vardır. Bu kişinin ne kadar zaman başlaması gerektiği gibi, bellek yönetimi ile uğraşmak mı istiyor, platformlar arası programlar yapmak istiyor, ne tür programlar yapmak istiyor, bir ekip içinde çalışmayı biliyor mu? o kullanıcılara veya bir mobil klima sistemi masaj yaparken pastırma sandviç hizmet bilgisayarları yapmak istiyor mu, gökyüzü sınırı ... vb, bazı diyelim olduğunu
userDepth

7

Ubuntu için birden fazla cihazda çalışabilen ve faktörler (masaüstü, telefon, tablet, TV ...) oluşturabilecek uygulamalar yazmayı düşünüyorsanız, QML ve JavaScript öğrenmenizi tavsiye ederim . esasen:

  • Form faktörleri ve cihazlar arasında çalışan yakınsak Ubuntu uygulamaları yazmak için QML kullanın
  • Ubuntu uygulamalarını yazarken ve Ubuntu webapps'larını yazarken QML'yi tamamlamak için JavaScript kullanın

Bu ikisinin neden uygun olduğu konusunda biraz daha ayrıntılı bilgi verebilir misiniz?
don.joey

Yapıldı, umarım net bir rehberlik sağlar :)
David Planella

5

Öğrenmelisin:

  • JavaScript: çoğu kullanıcı arayüzü çerçevesi / env. JavaScript’e dayalı / olacaktır; bir gün ya da başka bir şekilde ona ihtiyacınız olacak.

O zaman her şey için başka bir şeye ihtiyacınız olacak:

  • C ++ / C
    • Artıları: İnanılmaz derecede hızlı, düşük seviyeli özelliklere erişim
    • eksilerini: istikrarlı ve berbat bir topluluk yazmayı öğrenmek için çok zaman
  • Yakut:
    • artıları: öğrenmesi kolay, yazmayı gerçekten hoş, harika bir topluluk
    • eksileri: bazı görevler için yavaş olabilir (gerçekten)
  • Python:
    • artıları: çok sayıda paket python, harika topluluk, hızlı vb.
    • eksileri: python 3 (sadece kindin ')

Ancak, Java, vb. Gibi birçok başka dil hala var, ancak yukarıda belirtilenler C / C ++ dışında bir başlangıç ​​için daha kolay olabilir, ancak hangisini diğer dillerle kullanabileceğinizi öğrenmeye değer (ör. piton, yakut vb.)


1

Programlama çalışması hem gerçek koddan hem de altındaki zihinsel modelden oluşur.

Kendinize bir programlama dili öğretmek, bilgisayarların nasıl çalıştığıyla ilgili temel kavramlara sahip olduğunuz sürece kolaydır, ancak bir projeye faydalı katkılar sağlamak için, bunun arkasındaki tasarımı da anlamanız gerekir.

Benim önerim bu nedenle kişisel ilgi duyduğunuz ve sıklıkla kullandığınız bir projeye katılmak ve ardından kalite güvence çalışmasına başlamaktır:

  • biraz belirsiz bir hata raporu varsa, sorunu çoğaltmaya ve açıklamayı iyileştirmeye çalışın. Otomatik bir test için bonus puan.
  • Bir süredir hiç dikkat etmemiş eski bir böcek varsa, hala var olup olmadığını kontrol etmeye çalışın ve hata raporunu güncelleyin.
  • Testsuite hataları varsa, bu testin başarısız olmasına neden olacak şekilde neler olduğunu bulmaya çalışın.

Bu, projenin yönetilebilir bir öğrenme eğrisindeki zorlu, kavramsal kısmını öğrenmenize olanak sağlarken, ilginizi çekmeye devam eder (çünkü ilgilendiğiniz bir projedir) ve proje çevresindeki topluma erişiminizi sağlar. Gerçek programlama dili (projede hangisi kullanılıyorsa) anında alabileceğiniz bir şeydir.

Biraz kademeli bir giriş örneği için, Beignet projesine katkılarıma bakın . Programlama dili bilgisi (bu durumda C / C ++) burada kesinlikle sınırlayıcı bir faktör değildir.


0

Öğrenmelisin ... hepsini! Ya da daha çok meta- tüm dilleri öğren. İki veya üç dili tanıdığınızda, bunlara benzer herhangi bir yeni dili hızlıca öğrenebilirsiniz. Yeterince dil biliyorsan, "neredeyse" hepsini biliyorsun, ve daha da önemlisi, dilin bir parçası olan ve dilden bağımsız olarak programlama ile ilgili olanı anlıyorsun . Sonunda, belirli diller önemsizdir.

Yani Java, C, Scheme, OCaml, Assembly (en az iki mimar), Forth ve biraz Prolog öğrenmek isteyebilirsiniz, mutlaka o sırayla değil. İkinci dil en zor olanı olacak çünkü hem yeni kavramları öğrenmeniz hem de ilk dilde öğrendiğiniz ancak yanlış olduğu kavramları unutmanız gerekecek. Daha sonra kolaydır ve sadece daha kolay hale gelir.

Ardından, belirli bir geliştirme göreviyle uğraşırken, derleyici ve kitaplıkların kullanılabilirliği ve desteğine, iş arkadaşlarının bilgisine, yönetimden politika kısıtlamalarına vb. Dayanan en uyarlanmış dili kullanın. Aklın esnekliği anahtardır. Birçok dili bilmek bu esnekliği sağlar.


Hepsi? Gerçekten mi? Klasik "HelloWorld" programına buradan bir göz atın . Çoğu programcı yalnızca birkaç dil biliyor. İhtiyacınız olanları bilmek tek önemli.
Warren Hill,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.