Bilgisayar Mühendisliği için yazılım dili önerisi

Ben size Python öğrenmeyin demniyorum, Python yapay zeka ve web geliştirmede uygun bir dildir fakat Her türlü orta seviye C öğrenmeniz gerekmekte o yüzden C ile başlayın fakat ben üniversiteye bilgisayar ile alakalıı bir bölüme gitmeyeceğim hobi olanak yapacağım derseniz Python ile başlamak mantıklı olabilir ama üniversiteye bilgisayar hakkında bir bölüme gidecekseniz C ile başlayınız.
Teşekkür ederim zaten yukarda belirtmiştim ya bilgisayar mühendisliği yada siber güvenlik c ile başlamam işi çözmeme yardımcı olur heralde.
 
Hocam yürümeyi bilmeyen adama koşmayı öğretmeye çalışıyorsun. C artık öğrenilmesi gerekli bir dil değil. Hatta kullanım yüzdesi çok düşük bir dildir. Genelde üniversitelerde C öğretilir bu yüzdende kimse programlamayı anlamaz. Donanım yönetimlerinde dahi artık C dili kullanılmıyor. OOP yapısı olmayan hiç bir dil tercih sebebi değil. Ayrıca python ile gayet donanım yönetebilirsiniz.

Günümüzde C dili kullanmak hatta C++ dahil bazen koca bir tarlayı biçerdöver ile bir kaç saatte biçmek varken elinde orakla bir kaç haftada biçmeye benzer.
Söylediğin tek bir cümle doğru değil.

C öğrenildiğinde kişinin programlama algısını genişletecek türden bir dildir. Öncelikle bugün kullandığın her dilin hemen hemen atasıdır ve çoğu programlama paradigmasının doğuş noktasıdır.

Gelelim üniversitelerde ki kimsenin programlamayı anlamamasına. Nasıl mezun olup iş sahibi oluyor o zaman bu insanlar? Rastgele mi giriyorlar işlere? Ne kadar saçma bir algı bu.

Donanım yönetimlerinde C kullanılmıyor iddiana geleyim; linux/drivers/gpu/drm/nouveau at master · torvalds/linux Aşağıda paylaştığım linux kernelinin Nouveau driverlarının kodu. Aç bakalım hangi dilmiş. Azıcık google açıp baktığında hardware driverlarının çoğunlukla C ile yazıldığını öğrenirsin zaten.

Şimdiii asıl OOP yapısı olmayan hiç bir dil tercih sebebi değil hikayene gelelim; kısaca saçmalığın daniskası. Her daim OOP tercih edilmez. Çeşitli programlama paradigmaları vardır ve ihtiyaca uygun paradigma seçilmelidir. OOP yapacağım diye başka şeyleri komplike hale getirmenin bir anlamı yok.
Şu yedi senelik video anlamana daha çok yardımcı olabilir, videodaki her şey doğru ve geçerli argümanlar değil ama komplikasyon konusunu anlamaya yardımcı olacaktır;
Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.

C ve C++ için yazılmış kütüphane ve frameworkleri kullanarak gelişmiş bir biçerdöver elde edebilirsin.
 
Söylediğin tek bir cümle doğru değil.

C öğrenildiğinde kişinin programlama algısını genişletecek türden bir dildir. Öncelikle bugün kullandığın her dilin hemen hemen atasıdır ve çoğu programlama paradigmasının doğuş noktasıdır.

Gelelim üniversitelerde ki kimsenin programlamayı anlamamasına. Nasıl mezun olup iş sahibi oluyor o zaman bu insanlar? Rastgele mi giriyorlar işlere? Ne kadar saçma bir algı bu.

Donanım yönetimlerinde C kullanılmıyor iddiana geleyim; linux/drivers/gpu/drm/nouveau at master · torvalds/linux Aşağıda paylaştığım linux kernelinin Nouveau driverlarının kodu. Aç bakalım hangi dilmiş. Azıcık google açıp baktığında hardware driverlarının çoğunlukla C ile yazıldığını öğrenirsin zaten.

Şimdiii asıl OOP yapısı olmayan hiç bir dil tercih sebebi değil hikayene gelelim; kısaca saçmalığın daniskası. Her daim OOP tercih edilmez. Çeşitli programlama paradigmaları vardır ve ihtiyaca uygun paradigma seçilmelidir. OOP yapacağım diye başka şeyleri komplike hale getirmenin bir anlamı yok.
Şu yedi senelik video anlamana daha çok yardımcı olabilir, videodaki her şey doğru ve geçerli argümanlar değil ama komplikasyon konusunu anlamaya yardımcı olacaktır;
Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.

C ve C++ için yazılmış kütüphane ve frameworkleri kullanarak gelişmiş bir biçerdöver elde edebilirsin.

Ya arkadaş sen ne anlatıyon ya? O zaman bugün kullanılan tüm dillerin atası Assembly. Oturup adam Assembly öğrensin o zaman o daha çok programlama algısını geliştirir.

Üniversitelerden mezun olan adamların çoğu üniversite bilgisi ile iş bulamıyor zaten. Düne kadar senin üniversite dediğin kurumlar yıllar önce göçüp gitmiş Delphi'yi programlama dili diye öğretiyordu. Hala Pascal Turbo öğreten okullar var. Bunu mu savunuyorsun bana? Bu arada hala yazılım firmalarının işe alım süreçlerinde destek veriyorum. Üniversite mezunu olup gelip o kadar komedi şeyler var ki buraya yaz yaz bitiremem.

Bu adam napacak işletim sistemi mi yazacak ki orta düzey C öğrenmesinden bahsediyorsun hemde başlangıç olarak. Yıl 2023 çocuklar bırakın bu işleri. C öğrensin ama daha merhaba dünya yazmayı bilmeyen adama günümüz şartında C dayatırsan bu adam pes eder bırakır gider. Bugün Microsoft dahi C++ ağırlıklı programlama yapıyor.

24 yıldır programlama yapıyorum. Full Stack Senior Yazılımcıyım. Muhtemelen C dilini şuan hepinizden fazla biliyorum. Global düzeyde büyük projelerde çalıştım. Sor bakayım bana birader sen bu C dilini kaç tane projede kullandın diye. Bugün en low level projelerde bile firmalar C++'a yönleniyor. Hatta daha basit sensör yada temel donanım projelerinde adamlar Python kullanıyor.

Yine aynı şeye geliyoruz. Elinde hazır biçerdöver var. Binip bir kerede tarlayı sürüp geçeceksin yok diyorsun arkadaş ben önce biçerdöveri de kendim yapacağım. Ondan sonra tarlayı biçeriz. Biçersin ama 1 günlük işi 6 ayda mı bitirsin 1 yılda mı meçhul.
 
Yine aynı şeye geliyoruz. Elinde hazır biçerdöver var. Binip bir kerede tarlayı sürüp geçeceksin yok diyorsun arkadaş ben önce biçerdöveri de kendim yapacağım. Ondan sonra tarlayı biçeriz. Biçersin ama 1 günlük işi 6 ayda mı bitirsin 1 yılda mı meçhul.
Biz yazilimciyiz. Çiftçi değil. Gerektiğinde o biçerdöveri de biz yapıyoruz. Gerektiginde bu tarz bir mevzuda ihtiyaci olduğunda arkasındaki mantığı anlamasi ve kullandığı toolu genisletebilmesi için bilmesi hayrina olacak. Ufku daha genis olacak. Profesyonel düzeyde bir sey yapmasına gerek yok. Toolu kendi icin gelistiriyor ve genisletiyor olacak zaten.

Orta düzey C öğrensin diyen yok. Pointerlari ve bellek yapısını ogrenene kadar ogrenilmeli. Assembly ornegi cok sacma. Compilerlarin c ile yazilmasindan bahsetmiyorum atasi derken. Bahsi gecen durum bugün bildiğimiz procedural programmingin doğusudur. Buna ek olarak oop paradigmasini da belirli oranda kullanabileceğin bir yapısı var.

Merhaba dünya yazması sanki c de asiri zormus gibi de algi yapmanin anlami yok. Bu adamlar baslangicta zaten hesap makinesi falan yapıyor. int a, b; scanf("%d %d", &a, &b); printf("%d", a+b); yi anlamiyorsa zaten bosversin, uğraşmasin bu alanla.
 
Biz yazilimciyiz. Çiftçi değil. Gerektiğinde o biçerdöveri de biz yapıyoruz. Gerektiginde bu tarz bir mevzuda ihtiyaci olduğunda arkasındaki mantığı anlamasi ve kullandığı toolu genisletebilmesi için bilmesi hayrina olacak. Ufku daha genis olacak. Profesyonel düzeyde bir sey yapmasına gerek yok. Toolu kendi icin gelistiriyor ve genisletiyor olacak zaten.

Orta düzey C öğrensin diyen yok. Pointerlari ve bellek yapısını ogrenene kadar ogrenilmeli. Assembly ornegi cok sacma. Compilerlarin c ile yazilmasindan bahsetmiyorum atasi derken. Bahsi gecen durum bugün bildiğimiz procedural programmingin doğusudur. Buna ek olarak oop paradigmasini da belirli oranda kullanabileceğin bir yapısı var.

Merhaba dünya yazması sanki c de asiri zormus gibi de algi yapmanin anlami yok. Bu adamlar baslangicta zaten hesap makinesi falan yapıyor. int a, b; scanf("%d %d", &a, &b); printf("%d", a+b); yi anlamiyorsa zaten bosversin, uğraşmasin bu alanla.

Valla bu devirde hazır biçerdöver varken oturup yapanı hiç görmedim. Zaten günümüzde programcı sonuca en kısa şekilde ulaşmıyorsa o programcıyı çalıştırmam ki çalıştırmıyorlarda. Vakit kavramı hepimiz için değerli. Bu arkadaşımız içinde C dilini öğrenerek başlarsa vakit kaybından öte birşey değil. Oturup işletim sistemi yazacaksa bilemem tabi o zaman başlayabilir.
 
Düne kadar senin üniversite dediğin kurumlar yıllar önce göçüp gitmiş Delphi'yi programlama dili diye öğretiyordu. Hala Pascal Turbo öğreten okullar var. Bunu mu savunuyorsun bana?
Delphi dediğin şey object pascal zaten, öldüğü falan da yok, Embarcadero arkasında, hala daha sektörde çatır çatır kullanılıyor. Ayrıca okullarda amaç programlama dili öğretmek değildir, programlama öğretmektir, problem çözme kabiliyeti kazandırmaktır. Dolayısıyla hangi programlama diliyle eğitim verildiğinin günün sonunda pek bir önemi yoktur.
C öğrensin ama daha merhaba dünya yazmayı bilmeyen adama günümüz şartında C dayatırsan bu adam pes eder bırakır gider.
Ne yani C ile merhaba dünya yazmak çok mu zor? Çok mu karmaşık? İlginç bir örnek.
Muhtemelen C dilini şuan hepinizden fazla biliyorum.
Gram C bildiğini sanmıyorum.
Yine aynı şeye geliyoruz. Elinde hazır biçerdöver var. Binip bir kerede tarlayı sürüp geçeceksin yok diyorsun arkadaş ben önce biçerdöveri de kendim yapacağım. Ondan sonra tarlayı biçeriz. Biçersin ama 1 günlük işi 6 ayda mı bitirsin 1 yılda mı meçhul.

Component kullanmayı dilin kolay olması falan sanıyorsunuz ya absürt derecede komik. O componentler geliştirilirken arka planda ne kadar çok efor sarf edildiğinden bihabersiniz. Aynı componenti C için de geliştirirsiniz C++ için de ya da Pascal için, bu dilin kolay olduğu anlamına gelmez.
 
Delphi dediğin şey object pascal zaten, öldüğü falan da yok, Embarcadero arkasında, hala daha sektörde çatır çatır kullanılıyor. Ayrıca okullarda amaç programlama dili öğretmek değildir, programlama öğretmektir, problem çözme kabiliyeti kazandırmaktır. Dolayısıyla hangi programlama diliyle eğitim verildiğinin günün sonunda pek bir önemi yoktur.

Ne yani C ile merhaba dünya yazmak çok mu zor? Çok mu karmaşık? İlginç bir örnek.

Gram C bildiğini sanmıyorum.


Component kullanmayı dilin kolay olması falan sanıyorsunuz ya absürt derecede komik. O componentler geliştirilirken arka planda ne kadar çok efor sarf edildiğinden bihabersiniz. Aynı componenti C için de geliştirirsiniz C++ için de ya da Pascal için, bu dilin kolay olduğu anlamına gelmez.
Gerektiğinde kelimesini anlayamiyorsak yapacak bir şey yok.

Sizlerle aynı dili konuşmuyoruz. Evet Delphi Türkiye sektöründe çatır çatır kullanılıyor. Türkiye gibi kendini geliştiremeyen üçüncü dünya ülkelerinden başka yerde de görmedim. Okullardaki hocaların çoğu modern dilleri bilmiyor. Bunun tartışmasına dahi girmem.

C ile merhaba dünya yazdırmak zor değil C ile birçok şeyi öğrenmesi gerekecek. Bunu anlatmaya çalışıyorum. Yukarıda da tekrarladım adama yürümeden koş diyorsunuz. Ben insanların programlamayı eğlenerek öğrenmesinden yanayım. High level bir dilde profesyonelleştikten sonra zaten yetmeyecek derine inmeyi arzulucak o zaman yeri geldiğinde öğrenecektir. Adam belki sadece web programcılığına yönelicek bu adama neden C dayatıyorsunuz.

Sırf bu dayatmalar yüzünden sıfırdan başlayan çoğu genç yarıda bırakıyor.

Gram C bildiğini sanmıyorum.

Sana bir tavsiye, tanımadığın insanlar hakkında yorum yapma öyle bir argüman koyar ki ortaya yüzün kızarmaktan beter olur. Benden bilgili olabilirsiniz. Bundan gurur da duyarım. Senin bilgi birikimini ölçecek son kişi olduğum gibi sende benim bilgi birikimimi ölçecek son kişisin.
 
Programlamaya universite caglarinda adim atacak bir muhendis adayinin C ile baslamasinda hicbir sorun goremiyorum.

Zaten ilk basta yazacagi conditional, loop, basit statement, 2-3 standart data structrue, sistem konsol I/O, dosya okuma vs. Tutup da pointer aritmetigi, concurrency, memory management ile ugrasmayacak, heap patern incelemeyecek memory leak icin. Bunu da "Ay benim C'den gozum korktu" endisesiyle yapamayacaksa zaten okumasin. Universite seviyesi egitim, ogrencinin gozunu korkutmamak ya da engagement'i maximize etmek uzerine degil konunun ozunu ogretebilme ve gelecekte ogrenebilecegi metodolojiyi vermek uzerine kurulu olmalidir. Yani gunun sonunda o seni itekler ama o kadar dogru yonde itekler ki sen kendin ogrenirsin zaten omrunun geri kalaninda. Benim gozlemledigim hep boyleydi ki kotu okullarda okumadim.

Sade syntax'i daha okunabilir high level dil ile baslamanin cognitive yukunun daha az olacagi argumanina katilsam da, bir muhendis adayi icin giris seviye programlama icin ciddi fark yaratacagini sanmam. Kaldi ki low level bir dilin sisteme hakimiyetini anladigi noktada daha derin bir merak uyandiracagi argumani da savunulabilir ki bana oyle olmustu.

Son olarak akadamisyenlerin cok buyuk bolumu zaten endustri standartlarinda kod yazamaz. 30 sene ayni dersi tekrarlamaktan kod kalitesi anlaminda cok gerida kalirlar. Harvard mezunu akademisyen kodlarina bakip yapiyorum bu yorumlari, tasra universitesi gozlemi degil. Doganin kanunu bu, surekli daha iyi yapmaya cabaladigin konuda ilerlersin. Ancak akadamisyenin programlama dili tercihleri ve yazim standartlari sorgulanabilir olsa zaten amac dili ogretmek degildir hicbir zaman, dolayisiyla sorun yok. Derste kaliteli insight barindiran 2 cumle kurmasi sagda solda ezik tiplerin cektigi 40 saatlik Udemy videosuna bedeldir.

Sonuc olarak "High level dille baslasin kafasi iyi alsin" argumaniyle "low level ile baslasin saglam ogrensin" argumanlarinin hepsinin kendi caplarinda hakli noktalari olsa da bir muhendis adayi icin dogru sonuc her zaman -> "Fark etmez" dir. Dil bir sey degil, ogrenince bunu cok iyi anlayacak zaten.
 
Son düzenleme:

Geri
Yukarı