it-swarm-tr.com

C ++ ilk dil olarak uygun mu?

Yerel bir kolej, önceden programlama deneyimi olmayan ilk sınıf kolej öğrencilerine (16 yaşında) C++ öğretiyor.

İlk programlama dili olarak C++ uygun mu?

26
Ed James

Kesinlikle Hayır .

Öğrenciler için aklınızdaki herhangi bir hedef için, başka bir dil veya dil dizisi daha hızlı ve daha iyi olacaktır. Örnekler.

"Öğrencilerin düşük seviyeli kavramları anlamaları gerekiyor."

"Düşük seviyeli" kodlama, new öğesinden nesneleri almak, bunları delete öğesine geri beslemek ve zaman zaman yapmaması gereken bir yere işaret eden işaretçi bulundurmaktan ibaret değildir. İşlevler, sınıflar ve şablonlar düşük düzeyli değildir. RAII, const, std::ostream::operator<<, protected ve new düşük düzeyli kavramlar değildir. Bu şeyler düşük seviyeli sonuçlara sahiptir ve bunları aylarca veya gelecekteki bir sınıfa kadar atlarsınız ve bunun yerine C++ anlambilim dağlarına öğretirsiniz.

MIPS veya MMIX gibi iyi bir ortam ve öğretim materyali olan bir montajcı öneririm. Eğer aceleniz varsa, C'ye en azından montajcı çıktısına bakmasını öğretin. Bu size C++ 'ın yaptığı tüm düşük seviyeli anlayışı ve daha sonra bazılarını daha hızlı verecektir.

"Öğrencilerin nesne yönelimini anlamaları gerekiyor."

C++ 'da yerleşik nesne yönelimi OO kavramları veya hemen hemen tüm diğer üst düzey kavramların öğretilmesi için çok karmaşıktır. Bkz. C++ SSS Bunun nedenlerinin güzel, uzun bir listesi.Yeni programcılarla çok, çok uzun zaman alacak olan tüm bu şeyleri vurmanız gerekiyor, yoksa yeni programcıları karanlıkta bırakarak çok fazla atlamanız gerekiyor. --etkin olarak, gerçekten C++ bilmiyor!

C++ öğretmeniz gerekiyorsa, önce nesnelerle (Python, Ruby, Squeak, Common LISP, Racket) daha basit, yüksek düzeyli bir dil öğrenmenizi öneririm. Bunun ötesinde, fonksiyonel bir dili ziyaret ederek OO) 'dan ayrı bir kavram olarak polimorfizmi öğrenin.

"Öğrenciler şablonları ve şablon meta programlamasını anlamalıdır."

Kimse bunu gerçekten sormuyor, ama keşke yapsınlar. C++ güzel şablonlara sahiptir ve STL iyidir, ancak önce C++ öğretmek için yeterince yüksek bir öncelik olmamalıdır. OCaml veya Haskell tipi sistemi öğretmek ve daha sonra bu kavramları güçlendirmek zaten daha hızlı olabilir.

"Öğrencilerin problem çözmeyi öğrenmeleri gerekiyor."

Evet, bunu herhangi bir dilde elde edersiniz ve C++ dışında hemen hemen her dilde daha fazla alırsınız, çünkü daha az bagaj var. Yine, öğrencilerin problem çözme becerileri yerine öğrenecekleri şeylerin bir listesi için bkz. C++ SSS .

"Yukarıdakilerin tümü ve yalnızca bir dil kullanmamız gerekiyor." veya "İşverenler bunu istiyor." veya "C tarzı bir dile ihtiyacımız var." veya ...

Birden fazla dil öğretin.

Sadece bir dili öğreterek veya öğrenerek zamandan ya da enerjiden tasarruf ettiğiniz fikri çok saçma. Belirli bir dili öğrenmenin tam olarak X adam ay ( İPUCU! İPUCU! ) aldığı fikrine dayanır; burada X, dil başına tek bir sayı veya bir sayıdır. Bu, tüm bu 'gereklilikleri' ve 'testi' çöpleri atlayarak zamandan ve paradan tasarruf edebileceğiniz fikri ile hemen hemen aynıdır.

Birden fazla sözdizimine gelince, öğrencilere her dilde C sözdizimini diğer dillere karşı çılgınca önyargılı hale getirmelerini beklemeyi öğretirseniz, tehlikeli bir şekilde sakatlanırsınız.

Hemen hemen her yol C++ ile başlamaktan daha hızlı ve daha iyidir. Basit bir üst düzey dil ve sonra C++ öğrenmek daha hızlı olurdu. Montajcı ve sonra C++ öğrenme daha hızlı olurdu. C++ dışında herhangi bir şey öğrencilerin oraya daha hızlı ulaşmasını sağlar ve önyükleme yapmanın daha fazla yolunu bilir. Önce C++ öğretmeyin.

61
Jesse Millikan

Hayır, C++ deneyimli C++ geliştiricileri için bile zor bir dildir. En basit algoritmalar için bile, dil inceliklerinin çoğunu açıklamanız gerekir. Bir Hello World örneğini düşünün:

#include <iostream>

int main()
{
  std::cout << "Hello World!" << std::endl;
}

Bu da ne #include komutu? std::cout. Neden ::? Nedir <<? Ohhh, aşırı yüklenmiş bir operatör! Aşırı yüklenmiş operatör nedir? Sooo, ints için biraz değişiyor, ama std::cout, bir şeyleri konsola çıktılar. Ohhh, std::cout bir akıştır ve akışlarda << ve >> operatör aşırı yüklendi.

Aynı örneği Python'da görelim:

print("Hello World!")

İşte bu, bazı algoritmaları kodlayalım.

54
Marco Mustapic

Muhtemelen iyi bir ilk dil değildir: karmaşık sözdizimi, birçok kural, eski dil, hataya açık bellek yönetimi. Öğrencilerinize daha fazla şey öğretmek daha iyidir OO Smalltalk gibi veya Python gibi programlamak için daha hoş bir şey veya Haskell gibi işlevsel bir şey).

Daha iyi dil öğrendikten sonra, yaşamda daha sonra C++ öğrenebilirler (eğer yardım edemezlerse).

21
Andres F.

Kısa cevap: Evet!

any dilinin uygun bir başlangıç ​​olduğunu, ancak özellikle C++ (veya eşdeğeri) olduğunu söyleyebilirim. Bu günlerde C # ve Java kullanımda ve programlamada büyük dillerdir, bunlarla hızlı bir şekilde API ve IDE'lere yaslanmayı öğrenirsiniz, ancak C++ ile performans dahil olmak üzere baştan sona programlama öğrenme şansınız olur optimizasyon vb.

Dahili bir dile körü körüne güvenmeden önce programlama, döngü ve sıralama ile ilgili temel bilgileri öğrenmek asla kötü bir fikir değildir .Sort ();

18
Mantisen

Aslında çok pratik bir nedenden ötürü muhtemelen ilk dil olarak iyi bir seçim olduğuna inanıyorum: C++ öğrendikten sonra karşılaştığınız diğer diller öğrenmek için bir esinti gibi görünecektir.

14
ennuikiller

15-16 yaşlarında kendime C++ öğrettim.

Sihri başkalarına bırakmak ve şeylerin iç işleyişini kendiniz öğrenmek daha iyidir.


Açıkça söylemek gerekirse, giriş seviyesi C++ sözdizimi ve anlambilimini anlayamıyorsanız, bilgisayarlarda o kadar iyi değilsiniz. O kadar zor değil. "C Sınıfları" ndan kaçınmak için iyi bir neden yoktur.

Öğrencilerin şablon metaprogramlama, polimorfik çağrıları çıkarma ve çoklu miras hiyerarşilerini çözme üzerinde çalışmaya başlamasını beklerseniz - bu, kullandığınız her tür dil için giriş seviyesi bir sınıf için saçma.

Öğrenciler için programlama karışıklıklarını gizlemek istemek çok kötü bir eğilim var. Bu iyi değil (cf Spolsky's Java Okullar makalesi) Bu insanlar kafalarını düzleştirmezlerse DailyWTF ile sonuçlanırlar. sızıntılar, bununla başa çıkmaktan daha kötü. - Giriş seviyesi C++ öğrencileri için bir TA olarak çalıştım Ya şeyler tamamen gizlenmeli ya da ışığa getirilmeli Büyü öğrencinin düşmanıdır.

Makine koduna derlenmiş bir başlangıç ​​dili önerirsem, Pascal değişkeni muhtemelen en iyi yaklaşım olurdu. Hatırladığım kadarıyla C ailesinden daha düzenli ve yapılandırılmış bir yaklaşıma sahip.

10
Paul Nathan

Hayır.

Bir öğretim dili olarak, C++, en kötü öğretim dillerinden biri olan C'den çok az daha iyidir. Önde çok fazla karmaşıklık getiriyor, dilin bazı bölümleri derinden sezgisel değil ve çoğu zaman C++ hakkında genel olarak programlamadan daha fazla şey öğreniyorsunuz.

Bu C++ (veya C) 'nin kötü diller olduğunu veya öğrenmeye değmediğini söylemek değildir; sadece Python gibi daha iyi öğretim dilleri vardır.

8
John Bode

'Hayır' diyebilirim- Programlamayı öğrenmek için bir hevesim ve arzum vardı ve hemen üniversiteye giriş yılıma girdim. C++ 'ı başka bir dilmiş gibi öğreten bir öğretmen (kendileri için mantıklı olan kavramlar, dil veya gerçek dünya uygulaması kavramları olmak zorunda değil) ve her hafta bize atılan projelerle birlikte çöktüm ve yaktım sınıfın yarısı. Öğretilenleri sindirebildiğim, deneyebildiğim ve uygulayabildiğim zaman, test olarak ikiye katlanan proje ödeviyle mücadele ettim. 100'den 200 seviyeli bir kurs olduğunu iddia ediyorum.

Gerçekten elimden geleni yaptım. Sempati istemedim, bunun bir meydan okuma olacağını biliyordum, ama öğretmen bana yardım bile etmeyecekti. Bana ders kitabını okumamı söyledim, yaptığım gibi.

Ruby veya Python) birini programlama dünyasına sokmak için çok daha iyi bir dil olduğunu iddia ediyorum (ve bazıları katılmıyorum). Temiz, özlü, okunabilir , daha açık sözdizimi.

8
Kevin

Ortaöğretim sonrası iki temel eğitim türü vardır: üniversite ve ticaret okulu. Aradaki fark, mezun olduktan sonra hazırlanmak istediğiniz şeydir. Otomotiv alanında, bir mekanik ya da makine mühendisi olun.

Bununla birlikte, bir mühendis olmak istiyorsanız C++ harika bir ilk dildir ve bir tamircinin programlama eşdeğeri olmak istiyorsanız berbat bir dildir.

C++ ile ilgili bir giriş sınıfı veri türleri, tanımlar, bildirimler, işaretçiler, bellek ayırma vb. Hakkında konuşmak için çok zaman harcayacaktır. Bunlar, faydalı bir şey yapabilmek için birkaç yarıyıl harcamak istiyorsanız harika bir temeldir, ancak oraya vardığınızda herhangi bir karmaşıklık derecesine sahip olmanız gerektiğini bilirsiniz.

Öte yandan, daha hızlı bir şekilde yararlı bir şey yapmak istiyorsanız, ancak alanın ve karmaşıklığın sınırlı olup olmadığına aldırmayın, o zaman bu kadar düşük seviyedeki kavramlara ön harcama yapmak bir atık olacaktır. Harika bir html form doğrulayıcısı yazabilen, ancak bir aygıt sürücüsünün tasarlanmasına nasıl yaklaşacağına dair bir ipucu olmayan birçok programcı vardır.

7
Karl Bielefeldt

Elbette. İlk dilim C, ama bu gerçekten sadece C++ sınıfımızı kolaylaştırmak oldu. Üniversiteye girdikten sonra Java işlemek çok daha kolay oldu. C++ biraz daha dik bir öğrenme eğrisine sahip olabilir, ancak düzgün bir şekilde öğretilirse iyi olmalıdır.

Hayır, C++ ilk dil olarak uygun değildir. Burada gösterildiği gibi, birçok profesyonel programcı bu görüşü paylaşmaktadır, ancak bu aynı zamanda profesyonel öğretmenlerin sahip olduğu bir görüştür.

İşte Carnegie Mellon Üniversitesi dekanından bir rapor birinci sınıf programlaması için bir giriş dersi için C++ kullanma hakkında ne söylemek zorundadır:

C veya C++ gibi standart diller bu kurs için uygun değildir, çünkü karmaşıklıkları ve eksiklikleri hem gayri resmi hem de mekanize muhakeme tekniklerini engeller.

CMU, zorunlu bir ders ve bir fonksiyonel ders olmak üzere iki giriş dersi sunmaktadır. Fonksiyonel programlama için SML seçildi. Zorunlu ders için neyin seçildiğini bilmiyorum, ancak rapor C'nin bir alt kümesini kullanıyor.

4
Joh

Kesinlikle değil.

Yolum olsaydı, neredeyse tamamen akademik bir ortamda kullanılmasına izin vermezdim. Zaten yapılmış olanlara aykırı nedenlerden ötürü değil, ama çok fazla düşünen C++ (veya varyasyonları) neredeyse her sorunun cevabıdır çünkü neredeyse her durumda kullanabilirsiniz. Programlamanın tornavidası.

Bazı insanlar bunu iş için mükemmel bir araç olan vidaları sıkmak için kullanırlar. Diğerleri bunu bir prybar gibi kullanırlar, çoğu zaman etkili olsalar da, gerçekten ideal değildir, çünkü babanızın size ne söyleyebileceği önemli değil, bir prybar değildir ve sapın bileşimi kasıtlı olarak inşa edilmediğinden yanlış kullanım nedeniyle felaketle başarısız olabilir. bir tür prybarın karşılaşacağı güçler için. Yine de diğerleri bunu bir yumruk veya keski olarak kullanabilir ve neredeyse her zaman sorunlarla karşılaşırlar çünkü tornavidanın sapı, yumruk veya bir keski dayanacak şekilde tasarlanan çarpıcı kötüye kullanım için tasarlanmamıştır.

Benim düşünceme göre, bir programcının işi genellikle gerçek problemleri bir dereceye kadar artırılmış verimlilik (kaynakların görevlere bağlılığını azaltma), hız (bir görevi yerine getirme süresini azaltma), öngörülebilirlik (tekrarlanabilirliği arttırma) sağlayan otomasyona dönüştürmektir. bir görev) veya organizasyon (görevler arasındaki ilişki bilincini artırın).

Programları olan herkesin bilgisayarların düşük seviyeli işlemleri ve özellikle cihaz IO ve bellek ayırma hakkında bazı ortak bilgilere sahip olması anlaşılabilir olsa da, bu bilgiyi herhangi birinden gerçekten kullanmak zorunda değildir. önemli ölçüde, görevlerin büyük çoğunluğu için kaldıralım.Sorunun daha geniş bağlamını anlamadan bunu yapmaya çalışmak, çaba için gereksiz risk oluşturur.

İlk programlama dilinin C/C++ veya yakın varyantlar olması saçmadır, çünkü C ve türevlerinin çözdüğü problem sınıfı mevcut ve gelecekteki problemlerin keyfi olarak büyük bir yüzdesi için uygun değildir (birinin kurtarılması gereken yerler hariç) daha önce, tornavida program) ve aslında daha küçük bir dizi gelen problemlerden daha fazlasıdır. Çoğu programcı, küçük mobil, birbirine bağlı cihazların artan prevalansına rağmen, temel işletim sistemi özelliklerini veya doğrudan cihaz arayüzlerini geliştirmeye asla yaklaşmayacaktır. Çoğu bizim gibi çalışacak ve yaşayacak. İki nesilden eski olan kodun düzeltilmesi ve aşamalı olarak kaldırılması, halihazırda yaş gösteren teknolojiyi uygulamak veya katil (x + 1) uygulamasındaki teknoloji alanında çalışmak.

İlk dil olarak, hafif bir görev ancak LabView'in zengin özelliklere sahip bir çeşidi olan Lego NXT'ye bakardım. Lego NXT ticari girişimlerde yaygın olarak kullanılmasa da, "sensör açısından zengin" bir şekilde programlamanın temel niteliğini sunacaktır. Javascript veya TCL/TK gibi bir platform nötr komut dosyası dili ile eşleştirebilirim. Her ikisi de çok temel ama etkili görevleri yapmak için keşfetmeniz gerekenler açısından nispeten düşük bir etki olacaktır, geri bildirim döngüsü açısından yüksek getiri ve değişen derecelerde problem karmaşıklığını tanıtmak ve çözmek için esneklik. Ayrıca, öğrenciler, konserve ortamında sağlananları aşma potansiyelini keşfetmeye devam ettikleri için iyi bir fırsat sağlar: karanlık, nemli, düşük seviyeli cihazlarda çalışmayı denemek için bir şans IO ve az miktarda ek yüke sahip özel sürücüler.

Dört silindiri otomatik olarak kullanmayı öğrendikten sonra, gerçekten ilgilendikleri ve motive oldukları takdirde onları büyük v8 manuel hotrod'a doğru hızlandırın. Joel rock yıldızı programcılarını ayaklarının altında herhangi bir taşın altında bulamazsa, başka bir yere bakmaya devam etmesi ya da neden araç kutusunda bir sürü tornavidadan daha fazlasına ihtiyaç duyabileceğini yeniden düşünmesi gerekebilir.

2
JustinC

Elbette. Birinci sınıf öğrencilerinin kavraması daha kolay olabilecek başka diller de var. Ancak, bir öğretmenin C++ 'da kavramları yavaşça tanıtabileceği yollar vardır.

2
jzd

Kesinlikle C++ ilk dil olabilir. Ama ne kadar iyi öğretildiği hakkında.

Herkes, ilk dilin anlaşılması çok kolay olduğunu söylüyor. Ama benim açımdan, insanların çoğu lisans düzeyinde programlamaya başlıyor. Böylece, kavrayabilecekleri bir şey öğretebilirsiniz. Ve C++ ile daha düşük seviyeden daha yüksek seviyeye programlama yapabilirsiniz.

2
Gulshan

Kolejdeyken, üniversitenin ilk yılında öğretilen temel dil C++ idi. Teori, bazı karmaşık programlama kavramlarını içermesi idi, bu yüzden ustalaşabilirseniz, diğer dilleri de alabilirsiniz. Bana iyi bir temel olarak iyi hizmet etti.

Bunu söyledikten sonra, son sınıfım boyunca, temel dili Java'ya çevirip değiştirmemeyi belirlemek için bir komitede görev aldım. Birçok tanınmış işveren ve bölümün bazı mezunları ile konuştuktan sonra, Java 'a geçişin öğrencilerin en iyi ilgisi olduğu belirlendi. Onları işe almak için kullandıkları bir dil. Şimdi, 10 yıl sonra hala temel dili olarak Java) kullandıklarına inanıyorum.

Benzer bir notta, gerçekten iyi C++ becerilerine sahip birkaç yeni üniversite mezunu kiralamak istiyoruz. Biz hiç bulamadık.

1
SchwartzE

Evet derim. Ancak herhangi bir dil gerçekten ilk dil olabilir. Bence C++ iyidir çünkü karmaşık ve bazen zor olsa da, gerçekten ne yapabileceğinizi gösterir (daha az sınırlama). Ayrıca, diğer dilleri almaya hazır olmanıza yardımcı olabilecek bazı nesne yönelimli bir tasarıma sahiptir.

C++ benim ilk dilimdi ve mutluyum. OOP zihniyetini erken düşünmemi sağladı ve bunun için minnettarım. Ama sonunda, gerçekten ne yapmak istediğinize iniyor. Dil önemli değil çünkü eğer bir dilde iyiye gidebilirseniz, başka bir dil seçmekte sorun yaşamayacaksınız.Ne yapmak istiyorsunuz? Oyunlar yapmak? Cep telefonları için program? Her birinin araçları ve dilleri daha uygun olacak onun için.

1
user16281

C++ uzman bir dildir, yeni başlayan bir dil değildir ... önce C derdi, değil Java veya C # veya Python ... neden? C çünkü hafızanıza ve bazılarına dikkat etmeyi öğretir işaretçiler gibi hileli kavramlar gibi tüm diller tarafından "gizlenmiş" ama her yerde mevcut. Hafızanın neden bazen serbest bırakılması gerektiğini bile anlamayan ve çöp toplayıcının temizleyen küçük bir cüce olmadığına inanmayan pek çok genç geliştirici gördüm tüm kodlama crapsleri: onlar, XXXXGb RAM'leri olsa bile, anlar ve patlarlar ... Ama çöp toplayıcının neden her şeyi sihirli bir şekilde temizlemediğini anlamıyorlar! Ve bu tür geliştiricilerin kodlamalarını gördüm C++ (ve hatta Corba'da daha da çılgın) ve bir katliamdı !!!!!!!!!! Bu yüzden C kodlamayı öğrenmek ve daha sonra nesne kavramları ve tüm şeker için Python/Java/C # için tavsiye ediyorum Tüm bunları anladığınızda, C++ 'a gidersiniz ve C++' ın gücünü hissedersiniz, ancak tüm tehlikelerini ve nedenini de keşfedersiniz. kimse tarafından kullanılmamalıdır;)

1
mandubian

Yeni başlayanların C++ 'da kolayca hata yaptığı bazı noktalar şunlardır:

test etmek istediğiniz yerde ödev yapma = vs ==

Eksik ;

Kıvırcık parantezlerin okunabilirliği - örneğin Pascal başlangıç-sonu

Ve sonra karıştırmak için tüm dahil dosyaları, makrolar, bellek yönetimi vb.

Bu yüzden C++ ile başlamak için en iyi dil olmadığını söyleyebilirim - ancak öğrendiğinizde çok yararlı olabileceğine şüphe yoktur.

Ben - diğerleri de önerildiği gibi - C #, Java ya da belki VB - ve iyi bir IDE sözdizimi ile) hatalardan kurtarmayı kolaylaştırmak için vurgulayın, hata ayıklayıcı vb.

1
Rune Andersen

HAYIR. C++ 'a sahip olan bir çok şey var, bu bir acemi için anlaşılmasını zorlaştırıyor. "Tüm programlama dilleri eşittir" fallacie'ye girmeyin.

Basic veya Pascal ile başlayın ("kullanımdan kaldırıldı" öğelerini yok sayın) ve daha sonra C/C++/Java/C #/Perl ile başlayın. Veya bir şansınız varsa, önce Logo & Karel, ardından Basic veya Pascal ile.

Polisi Bazı üniversiteler ve kolejlerin bir Programlama Dili kullanım ve karşılaştırma sınıfı vardır ve bu sınıfa ;-)

1
umlcat

Ortaokulda C++ ile başladım. Bu kitabın bir kopyasını aldım: C++ Deitel ve Deitel'den Nasıl Programlanır . Bu kitap oldukça iyi.

Açıkçası burada doğru ya da yanlış cevap yok, şahsen C++ 'nın kavranabilir olduğunu buldum. OOP'e kadar öğrendim (şimdi bunu nasıl elde edemediğimi ama neyse anlayamadığım "bu" yu taktım). Deneyin, cesaretiniz kırılmasın. Sıkışırsanız, diğer dilleri kontrol edin ve yeni diller öğrenmeye devam edin. Fikir, aynı kavramı 2-3 farklı formda gördüğünüzde onları daha iyi anlayacağınızdır. Dediğim gibi, "bu" işaretçi kavramı beni şaşırttı ama aynı şeyi Python (bunun yerine self olarak adlandırılmış) 'da gördüğümde hemen anlamıştı çünkü C++' da anlıyordum. Eğer çok sayıda kolej öğretebilirse, Java öğren. Bu dil du jour olduğu için python veya Ruby öğrenin ve Clojure (ve diğer tüm lisps), Haskell, Scala gibi daha fazla niş/yeni şey keşfedebilirseniz ...

0
nkassis

"Uygun", "mümkün" anlamına gelirse, evet. Eğer "iyi" için, kesinlikle hayır.

C++ 'ı sevmek bile mümkündür, ancak bunun için birkaç dili daha iyi öğrenirsiniz ve deniz mavisi hayat çürük kod tabanlarıyla on yıl çalışırsınız, "gerçekten çalışan önemsiz yazılımlar hazırlama" konusunda deneyim kazanırsınız - o zaman C++ cazibesine sahip olacaktır.

Bakire olduğunuzda başlangıçta değil, küçük, basit (ama sözde ilginç ve eğlenceli) problemlerle uğraşın.

Python ile başladım, ardından SICP (şema) ya da benzer bir şey. Belki ters veya serpiştirilmiş. Bunlarla sadece sorunla başa çıkabilirsiniz. Sistemle savaşmak yerine, derin çamurda yürümek ve her türlü mantıksız tuhaflıkları ve tarihsel nedenlerini öğrenmek.

Daha sonra, bir kağıt torbadan çıkış yolunuzu programlayabildiğinizde, çıplak metale geçin: Montaj yollarını ve çeşitli mimarileri ve belki de Knuth's Mix'i öğrenin. Sadece hafızaları, kayıtları, ALU'ları, önbellekleri, kesintileri anlamak ve okuma seviyesine ulaşmak için opcodları ezberlemek veya çok gerçek şeyler yapmak istemiyorum.

Daha sonra bu temel ile C++ dahil olmak üzere diğer dillere maruz kalabilirsiniz. Araya "dillerin tarihi ve evrimi" eklemek için iyi bir fikir olabilir.

0
Balog Pal

Programlamanın temellerini öğrenmek için herhangi bir dil seçebilirsiniz. C/C++ 'da bir şeyler öğrendim. fakat 7 yıl sonra okulumdaki araçlar/diller değişti ve Java/C # 'ı tercih ediyorlar. diller sadece araçlardır. Daha iyi olmak için ihtiyacınız olan temel bilgilerdir. Örneğin. MIT insanlar python kullanarak algoritma temellerini öğrenir. eg Java web programlama için iyi olabilir, ancak C/C++ hizmetler ve yüksek performanslı uygulamalar için iyidir. Bu sizin durumunuza bağlıdır.

0
sarat