Arkadaşlar selamlar,
Öğrenciyim ve yoğum bir eğitim görüyorum.Çocukluğumdan beri yazılıma, bilgisayara (tanımı nasıl yaparsanız) ilgi duyuyorum.Meslek, okul olarak seçme fırsatım olmadı ancak hobi olarak uğraşmak kendimi geliştirmek istiyorum.Şimdi sizlere danışmak istediğim konuya gelecek olursak:
-Yazılım öğrenmek için nereden başlamalıyım?
-Linux öğrenmek kendi çapımda bir şeyler yapmak istiyorum(Raspery Pi3 aldım bunun üzerinden gidebilirim).Kaynak ve ilerleyiş olarak ne önerirsiniz?
Bu konularda ilgili bilgili olan arkadaşlar fikir verip yardımcı olursa çok sevinirim.
#akış #TeknoYardım #Yazılım #Linux
neden c# ?Ayrıca neden linux değil? @mkarakaya506
epey karışık terimlerle doldu burası araştıracağım önerilerinizi çok teşekkürler 🙂 @phantom
Hali hazırda çabalıyorum aslında mesleğim içinde oldukça önemli ama ikisini'de bir arada götürmek istiyorum. @turker
Google'a derdini anlatacak kadar ingilizce bilmek şart. Sonrası bir şekilde geliyor zaten 🙂
@frt Literatür oldukça geniş birçok programlama dili var vakit kısıtlı bir yol çizmek lazım:) o konuda yardımınıza ihtiyacım var.
@byzamane ben ingilizce için söyledim. Ben öğrendiğim ingilizcenin önemli bir kısmını stackoverflow'da öğrendim sanırım 🙂
Önce nereye yönelmek istediğinize karar vermeniz lazım. mobil oyun mu geliştireceksiniz, yoksa web programlama mı masaüstü uygulama mı yapacaksınız ona karar verin. sonra ona uygun bir dille başlarsınız öğrenmeye.
karar vermemde etkili olacak inşallah çok teşekkürler yorumunuz için. @turker
@phantom blog yazınıza bakacağım teşekkürler
Linux ile de ilgileneceğim diyorsan C++ dilini Qt Framework ile kullanmak mantıklı olur. Çapraz derleme yapılan güzide bir framework.
Tabi web mi masaüstü mu mobil mi vs sen seçeceksin. Sonuçta hobi. Zevk almak lazım.
Çok teşekkürler yorumunuz için seçmemde epey yardımı dokunacak @cemkoc
@phantom sanırım bilmediğimden kavramları karıştırmışım.Linux bir işletim sistemi.C ve phyton ile yazılmış araştırdığım kadarıyla.Biz'de bu sistem üzerinde c# öğrenebiliyoruz?Peki neden linux üzerinde öğrenelim avantajı nedir?
Doğru anlamış mıyım?
@byzamane Araya girip şöyle bir açıklama yapayım.
Örneklendirme yaparsak aslında dil dediğimiz şey günlük hayatta kullandığımız alfabeye benzer. Ama bunu kelime ve cümlelere çevirmemizi sağlayan şey Frameworklerdir. Popüler olan framework C# için .NET dir. Yoksa C# sadece belli bir yazım şeklinden öte bişey değildir.
Linux mevzusuna gelirsek ne ile yazıldığının önemi yok. Örneğe dönersek ister latin ister osmanlı alfabesini kullanalım. Sonuçta ikisinin okunuşu da merhaba olacak. Sadece son hale getirmek için yazılan şekil farklı. Mesele dilden öte framework kullanılabilirliği. Ekrana "merhaba dünya" yazmak için Console sınıfı içerisindeki WriteLine fonksiyonu çağırılır. İşte o yazımı kullanışlı yapan şey Consol sınıfıdır. Bu da dilin değil Framework'ün özelliğidir. Bu çok karıştırılan bir durum olduğu için belirtmek istedim.
C# dili mono ile Linux'e derlenebiliyor. (koddan işlemcinin anlayabileceği binary sisteme çevriliyor) Ben takip ettiğim sıra güncel .NET sürümünden çok eskiydi mono sürümünde. Az önce baktım 1 yıl küsür öncesinden takip ediyor günceli.
C# .NET ile çok fazla örnek bulabilirsin. İstemediğin kadar hem de. Keza okulların çoğu da öğretir bunları.
Ama aşağıdaki yorumda da belirttiğim gibi Linux'de çalışacaksan özellikle bi de arm işlemcili sistemlerde kesinlikle C++ ve Qt Framework öneririm. Kendisi ile Windows, Linux, MacOS, Android, IOS, WP uygulamaları ve ayrıca gömülü uygulamalar da yapabilirsin. Hatta kendin bi işlemci yapsan onda da çalışır çünkü kaynağı tamamen açık. Derle kullan.
@cemkoc şuan tamda onu araştırıyordum. C# mı c++'mı diye?Vaktim kısıtılı olduğundan c#'dan başlamaya niyetlenmiştim yorumunuzdan önce ama şuan c++ daha mantıklı geliyor.Ne dersiniz?
@byzamane Hani sorumluluk altına girmemek için başlıca şunları belirteyim.
Gözlemlediğim C#.NET avantajları
-C# nispeten öğrenmesi biraz daha kolaydır.
-Her yerde eğitim materyali vardır.
-Nispeten çapraz derleme yapabilir. windows linux android wp gibi (detayını bilmiyorum)
-Windowsda çok daha sağlam çalışır.
-Piyasada geçerliliği çoktur.
Dezavantajları
-Bir firma geliştirmesine bağımlı kalınmış olunur.
-Windowsda daha güncel çalıştığı için diğer ortamlar için belli kısıtlamalar içerebilir.
-Çok kişi kullanır fakat yazılan projelerin çoğu kapalı kaynaklıdır.
C++ Qt Framework avantajları
-Öğrenmesi çok az daha zordur. Fakat belli yapıların mantığı oturunca hiçbir farkı kalmaz. O yüzden güzel bir kaynakdan öğrenmek en iyisidir.
-C# gibi özel ve bir firmanın geliştirdiği bir dil değildir. İlk yüksek seviye dillerden biridir. (Önce C sonra nesneye yönelimli dil olan C++ öğrenilir)
-Qt frameworkü Digia isimli bir firma geliştiriyor fakat o firmaya birşey olması durumunda kurulan KDE Free Qt Foundation'a kalır bütün hakları. Zaten açık kaynak bir projedir ve gelişimi devam eder.
-Her yere, ama her yere Qt framework ile native derleme alınabilir. Aynı kodu değiştirmeden windows, linux, android... yukarıda yazdığım her platforma derlenir.
-Büyük projelerin önemli bir kısmı C++ kullanır. Açık kaynak ve çapraz derleme yapılmış neredeyse bütün projeler C++ kullanır. Bu sayede hazır bir kodun incelenip nasıl yazıldığını anlama kısmı daha kolaydır.
-Yeni sürümler her işletim sistemi için aynı tarihte yayınlanır.
-Yazılım geliştirme ortamı Visual Studio ya göre hem daha az kaynak yer hem daha sadedir.
-QML gibi javascripte benzer bir dil de içerisinde barındıran Qt ile daha modern çalışmalar yapılabilir. Özellikle mobil odaklı material tasarımlar için birebir.
Dezavantajları
-C++ ile ilgili eğitim materyali çok olsa da Qt ile ilgili o kadar çok değildir.
--
Buradan sonra yine senin seçimin olacak. Bir yanda popüler ve birçok eğitim materyali olan bir dil ve aynı firma tarafından geliştirilen bir framework. Bir yanda da çapraz derlemenin kralı olan ama daha yavaşça popülerliğini arttıran, büyük projelerin kullandığı dili kullanan bir framework.
Qt ile ilgilendiğim için mobil tarafta da daha çok duyulacağını ve şu sıralar geliştirilmesinde güzel adımlar atıldığını belirtmek isterim.
Linux'de C# ile yazmadım bişeyler. @phantom da görüş belirtsin bu konuda.
@cemkoc ilginiz için çok teşekkürler.