Çözüldü Hangi programlama dillerini öğrenmeliyim?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Unturned

Kilopat
Katılım
29 Ağustos 2016
Mesajlar
2.635
Makaleler
1
Çözümler
43
Arkadaşlar bu her zaman açılan konular gibi değil.

ÖNEMLİ: Arkadaşlar programlama dili önerecekseniz "şunu öğren daha kolay, şunu öğren bunla şunu bunu kavradıktan sonra şuna atlarsın, şunda çok para var, şunun geleceği daha parlak" gibi (saçma-sapan) öneriler yerine idealist, en iyi öneride bulunursanız çok sevinirim. Frameworkler ve kütüphaneler de dahil.

Arkadaşlar öncelikle neler yapacağımı söyleyeyim.


Web​

E-Ticaret sitesi kurmak,

Kullanıcıların hesap açabileceği (yani verilerin depolanıp saklanabileceği) blog, haber, forum sitesi kurmak,

Kullanıcıların hesap açamayağı blog, haber sitesi kurmak,

kendi oyun, uygulama ve programlarımı indirebileceği ürünlerimi alabileceği site yapmak.

Oyun, Uygulama ve Program​

Kullanıcıların hesap açabileceği (yani verilerin depolanıp saklanabileceği) Android, iOS, (Windows Phone desteği olursa güzel olur ama olmasa da olur.) Windows, Linux destekli oyun, uygulama ve program yapmak,

Online & Offline Android, iOS, (Windows Phone desteği olursa güzel olur ama olmasa da olur.) Windows, Linux oyun uygulama ve program yapmak,

kendi oyun, uygulama ve programlarımı indirebileceği ürünlerimi alabileceği Mobil-PC launcher yapmak.


Diğerleri​
İşletim Sistemi yapmak, GNU/LINUX tabanlı.

Yapay Zekâ programlamak.

Makine (programlama dili dışında)​
otomasyon ve güvenlik icatları yapmak.


Arkadaşlar programlama dili önerecekseniz "şunu öğren daha kolay, şunu öğren bunla şunu bunu kavradıktan sonra şuna atlarsın, şunda çok para var, şunun geleceği daha parlak" gibi (saçma-sapan) öneriler yerine idealist, en iyi öneride bulunursanız çok sevinirim. Frameworkler ve kütüphaneler de dahil.

Umarım anlatabilmişimdir. @bitwise @The Anorak
 
Son düzenleyen: Moderatör:
Çözüm
Bizim su anda uzerinde calistigimiz projelerde senin isteklerinle ortusen seyler var ve tercihlerimizi yazayim. Yanlarina alternatiflerini de yazacagim belki onlari da incelersin.

Web Backend:
- JVM dilleri. Kotlin, Java vs Scala uclusunun hepsini kullaniyoruz. Linux server uzerinde calisiyor sunucular. Kurumsal firmalarin agir is yuku gerektiren istekleri oluyor ( saniyede binlerce dosyanin parse edilmesi vs gibi ). Alternatif olarak C# da dusunulebilir ama Windows teknolojilerinden uzak duruyoruz malum sebeplerden.
- Node: Gorece hafif projeler icin tercih ediyoruz. NPM 'de cok guzel library ler var, barkod ve resim analiz etmemiz gereken bazi ufak projeler var, direkt 3rd parti kutuphanelerle isimizi goruyoruz ama genel olarak daha yavas calisiyor. Ama memory management konusunda daha iyi. Alternatif olarak Python dusunulebilir, onda da image processing kutuphaneleri var.

Frontend -> Javascript. Gercek bir alternatifi yok. Varsa bile zaten JS e compile oluyor ( Typescript, CoffeeScript vs )

Yapay zeka:
- Eticaret sistemlerinde kullandigimiz yapay zeka modulleri var. Bunlari da Python ve Scala ile yaziyoruz. Alternatifi pek yok bana gore, Python'daki machine learning kutuphaneleri piyasadaki en iyileri bana gore. Tensorflow kullanacak kadar sofistike bir is yapmiyoruz.

Big Data:
- Python + Spark. AWS de bunun sunuculari, AWS Lambda kullanarak big data process ediyoruz. Genelde Java ile yazilan backend process ettigi verileri lambda'ya aktariyor. Alternatif Java + hadoop olabilir. AWS Lambda – Serverless Compute - Amazon Web Services

Oyun : Bilmiyorum. Sadece oyun serveri projemiz vardi 2 tane, ama client'ini baska bir ekip Unity ile yazdi. Biz sadece serverini Java ile yazdik. Gayet C++ ya da C# ile de yazilabilirdi.

Mobil:
- Hic native isine girmedik, full React-Native yazdik. Gereksiz if-else branchleri disinda bir sorunumuz olmadi. ( Eger androidse sunu yap, IOS ise bunu yap demek gerekiyor bazen ). Javascript kullandik. ( Typescript + JS )

Isletim sistemi: Universiteden sonra profesyonel olarak hic low level is yapmadim. Sadece meraktan assembly ile basit bir NES programi yazmisligim var : ) Programming guide - Nesdev wiki Tavsiye etmiyorum.

Otomasyon: Market pazar payi cok dusuk yeni firmalar icin. Hic bulasmadik bu alana.

Ozet: Javascript - Python - Java EE ya da Microsoft uzerinde .NET ve C#. Low level isler icin ise C++ ya da Go.
Bilgisayarcılar için her zaman geçerli bir söz vardır.
"Her işin ucundan bilir, ancak bir işte uzman olursun."
Yapacağınız üç ayrı iş, birbirinden bağımsız olmakla birlikte bazıları en az on hatta yirmi sene tecrübe isteyen şeyler. Gel sen bu sevdadan vazgeç, henüz yolun yakın.
 
Bende yakın zamanda bir alanda yoğunlaşmak istiyorum ve tercihim sanırım oyun ve program sektörü üzerine olacak. Hem web site hem de oyun-program üstüne odaklanmak isterdim ama her şeyde ustalaşamayacağımı bildiğimden sadece bir seçim yapmak zorundayım. O yüzden sana da önerim, her alanda uzmanlaşmaya çalışma, kendine bir alan seç ve orada uzmanlaş.
 
Neden yapamasın? Tek kişi gayet mümkün.
LFS ile belki yapar, onda da Linux çekirdeğini kullamış olur. Bootloader yazmayacağını düşünüyorum çünkü sadece işletim sistemi demiş, GRUB kullanabilir. Assembly ve C dillerinin ne olduğunu bilsen neden tek başına işletim sistemi yapamayacağını anlarsın. Neye dayanarak mümkün dediğini bilmiyorum fakat gerçek anlamda bir işletim sistemini tek kişi yapamaz.
 
Bizim su anda uzerinde calistigimiz projelerde senin isteklerinle ortusen seyler var ve tercihlerimizi yazayim. Yanlarina alternatiflerini de yazacagim belki onlari da incelersin.

Web Backend:
- JVM dilleri. Kotlin, Java vs Scala uclusunun hepsini kullaniyoruz. Linux server uzerinde calisiyor sunucular. Kurumsal firmalarin agir is yuku gerektiren istekleri oluyor ( saniyede binlerce dosyanin parse edilmesi vs gibi ). Alternatif olarak C# da dusunulebilir ama Windows teknolojilerinden uzak duruyoruz malum sebeplerden.
- Node: Gorece hafif projeler icin tercih ediyoruz. NPM 'de cok guzel library ler var, barkod ve resim analiz etmemiz gereken bazi ufak projeler var, direkt 3rd parti kutuphanelerle isimizi goruyoruz ama genel olarak daha yavas calisiyor. Ama memory management konusunda daha iyi. Alternatif olarak Python dusunulebilir, onda da image processing kutuphaneleri var.

Frontend -> Javascript. Gercek bir alternatifi yok. Varsa bile zaten JS e compile oluyor ( Typescript, CoffeeScript vs )

Yapay zeka:
- Eticaret sistemlerinde kullandigimiz yapay zeka modulleri var. Bunlari da Python ve Scala ile yaziyoruz. Alternatifi pek yok bana gore, Python'daki machine learning kutuphaneleri piyasadaki en iyileri bana gore. Tensorflow kullanacak kadar sofistike bir is yapmiyoruz.

Big Data:
- Python + Spark. AWS de bunun sunuculari, AWS Lambda kullanarak big data process ediyoruz. Genelde Java ile yazilan backend process ettigi verileri lambda'ya aktariyor. Alternatif Java + hadoop olabilir. AWS Lambda – Serverless Compute - Amazon Web Services

Oyun : Bilmiyorum. Sadece oyun serveri projemiz vardi 2 tane, ama client'ini baska bir ekip Unity ile yazdi. Biz sadece serverini Java ile yazdik. Gayet C++ ya da C# ile de yazilabilirdi.

Mobil:
- Hic native isine girmedik, full React-Native yazdik. Gereksiz if-else branchleri disinda bir sorunumuz olmadi. ( Eger androidse sunu yap, IOS ise bunu yap demek gerekiyor bazen ). Javascript kullandik. ( Typescript + JS )

Isletim sistemi: Universiteden sonra profesyonel olarak hic low level is yapmadim. Sadece meraktan assembly ile basit bir NES programi yazmisligim var : ) Programming guide - Nesdev wiki Tavsiye etmiyorum.

Otomasyon: Market pazar payi cok dusuk yeni firmalar icin. Hic bulasmadik bu alana.

Ozet: Javascript - Python - Java EE ya da Microsoft uzerinde .NET ve C#. Low level isler icin ise C++ ya da Go.
 
Çözüm
LFS ile belki yapar, onda da Linux çekirdeğini kullamış olur. Bootloader yazmayacağını düşünüyorum çünkü sadece işletim sistemi demiş, GRUB kullanabilir. Assembly ve C dillerinin ne olduğunu bilsen neden tek başına işletim sistemi yapamayacağını anlarsın. Neye dayanarak mümkün dediğini bilmiyorum fakat gerçek anlamda bir işletim sistemini tek kişi yapamaz.

Internette 1 kişi ya da birkaç kişi tarafından yazılmış pek cok acik kaynak proje zaten mevcut, örnek:

Hala neden tek kişi yapamayacağını anlamadım malesef, custom bootloader ya da derleyici yazmak bilen birisi için zor şeyler değil.

Sanırım işletim sistemi diyince aklınıza direk windows gibi detaylı ve kompleks bir sistem geliyor sadece.
 

Geri
Yukarı