Bahasa pemrograman apa yang harus diajarkan setiap siswa ilmu komputer?

13

Bahasa apa (atau kelas (seperti dalam paradigma) bahasa pemrograman, ditambah bahasa yang direkomendasikan dari kelas itu) yang harus diajarkan setiap siswa ilmu komputer di perguruan tinggi menurut Anda? Memotivasi jawaban Anda; mengapa bahasa itu? Apa gunanya satu dari itu? Konsep apa yang diajarkannya (lebih baik daripada bahasa X)?

Catatan / klarifikasi : Pertanyaan ini adalah tentang ilmu komputer dengan fokus utama pada rekayasa perangkat lunak, bukan ilmu komputer murni. Masih pendidikan ilmu komputer dan bukan pendidikan rekayasa perangkat lunak yang menjadi fokus.

Anto
sumber
13
Kode psuedo harus cukup untuk CS.
Jé Queue
12
@ Xepoch - tidak setuju. Tidak semestinya mengungkapkan semantik evaluasi yang bersemangat vs. malas, kovarian / contravariance dalam jenis tanda tangan, teori kategori, dll. Menggunakan pseudo-code. Pseudo-code sangat bagus untuk mendeskripsikan algoritma dan struktur data, tetapi ada banyak lagi untuk CS dari itu.
Aidan Cully
6
Selain itu, sebagian besar siswa CS berharap mendapatkan pekerjaan non-akademik setelah lulus. Pseudo-code tidak akan bernilai banyak di pasar kerja yang kompetitif. Saya tidak berpikir bahwa gelar CS terutama harus menjadi pelatihan kerja, tetapi harus membuat beberapa akomodasi ke arah itu.
Adam Crossland
2
SEMUA MEREKA . Jika waktu terbatas, mulailah dengan huruf-huruf alfabet. A +, B, C, C #, D, E, F #, J, K, Q, R, T ... Sebenarnya itu bukan daftar yang buruk.
Jesse Millikan
6
Selamat telah menemukan versi lain dari "Bahasa Apa?" pertanyaan. Saya tidak sabar untuk membaca semua pendapat. Jangan lupa referensi ke SICP. Oh, tunggu, ini dia.
Corbin

Jawaban:

21

Saya akan memberikan daftar:

  • Majelis (dialek yang relatif sederhana): Penting untuk memahami setidaknya sedikit dari fundamental
  • C: Bahasa prosedural, digunakan di banyak tempat. Tidak membebani siswa baru dengan konsep baru seperti OOD sekaligus.
  • Java / C # / Eiffel / C ++: Sesuatu yang Berorientasi Objek baik, salah satu dari ini akan mencapai tujuan mengajar siswa OOD dan begitu mereka memahami salah satu bahasa ini, mereka harus dapat belajar yang lain .. Ada banyak bahasa yang bagus, saya mendaftarkan Eiffel karena ia juga memiliki desain-kontrak.
  • LISP dan Prolog: Mengajar siswa cara berpikir yang sama sekali baru, yang penting, bahkan jika mereka tidak pernah menggunakan salah satu dari ini "di dunia nyata".
  • SQL dan XML: Memperkenalkan cara baru untuk berpikir tentang data dan cara mengambilnya dan mengelolanya.

Siswa harus paling tidak terkena semua paradigma ini . Bukan hanya satu atau dua.

Saya kira banyak orang akan menyarankan Python untuk membahas gaya prosedural, gaya OOP, dan mungkin yang lain, tetapi saya tidak memiliki pengalaman pribadi yang cukup dengan Python untuk dapat dengan yakin merekomendasikannya.

FrustratedWithFormsDesigner
sumber
Saya benar-benar berharap sekolah saya membahas lebih detail tentang XML dan SQL, kami memiliki satu kelas yang membahas keduanya dan terribad.
saya akan menambahkan bahasa dinamis modern, seperti Lua, Python, Javascript, dll
Javier
4
ah, juga beberapa fungsional hardcore, seperti haskell dan erlang sangat mendidik
Javier
1
+1 untuk daftar SQL. Setidaknya Anda berpikir tentang aljabar relasional.
Jé Queue
1
Saya akan memisahkan dikelola dari OO yang tidak dikelola juga, C ++ dan Java. Meskipun saya tidak pernah menggunakan C ++ sejak uni tanpa belajar tentang malloc, heap dan stack, Anda tidak akan pernah bisa memahami OO dengan baik.
markmnl
45

Saya pribadi merasa agak sedih bahwa bahasa fungsional tidak diajarkan secara dominan seperti dulu. Saya pikir paling tidak mahasiswa sains harus dihadapkan pada bahasa dari semua paradigma utama: prosedural, berorientasi objek, fungsional, dan dinamis.

Michael Brown
sumber
2
+1 Kelas bahasa pemrograman saya dengan mudah adalah kelas paling berharga yang saya ambil.
HappyCodeMonkey
1
Sebagai mahasiswa IT saya sangat setuju. Saya mendapat manfaat dari bekerja penuh waktu di dunia nyata ketika saya pergi ke sekolah sebagai pengembang aplikasi web tingkat junior, tapi saya merasa bahkan jika saya melanjutkan dengan gelar CS penuh, saya akan kehilangan banyak liputan yang berbeda. paradigma.
Ken
1
Agak terkait: youtube.com/watch?v=Ps8jOj7diA0 Stanford memiliki kuliah Pemrograman Paradigms 2008 lengkap mereka di YouTube.
Inaimathi
4
Tambahkan deklaratif ke daftar (Prolog). Juga beberapa bahasa secara paralel paralel (Occam). Mengajar siswa bagaimana paralelisme bekerja akan baik (tidak ada yang bisa memperbaikinya).
Martin York
1
@ Martin York: Prolog adalah bahasa pemrograman logika , yang merupakan jenis bahasa deklaratif. (Saya menyebutkan ini sebagai bahasa pemrograman fungsional juga bersifat deklaratif, secara umum.)
mipadi
33

Saya pikir seorang siswa CS yang seimbang harus diajarkan bahasa di masing-masing dari 4 jenis bahasa pemrograman:

Fungsional - Lisp / Haskell / PostScript. Saya tidak punya banyak pengalaman dengan Haskell, tapi saya pernah mendengar programmer lain yang suka tentang itu. Memahami konstruksi pemrograman fungsional dan mengapa mereka berguna dalam banyak situasi akan membantu seorang programmer menjadi lebih baik dalam mengatur algoritma dalam bahasa lain juga.

Berorientasi Objek - Pilih. C # / Java / Python / Ruby / yadda yadda yadda. Jenis ini perlu diajarkan hanya karena itulah yang diinginkan bisnis modern.

Imperatif - C / Fortran / Pascal. Ini kurang umum hari ini, tetapi mereka masih harus dipelajari dari perspektif praktis / historis. Metode yang mereka gunakan masih memiliki kepraktisan karena dalam setiap bahasa, semuanya bermuara pada sebuah instruksi. Dan bahasa imperatif sangat baik dalam daftar dan mengikuti instruksi.

Logis - ProLog. Saya belum pernah menemukan penggunaan praktis yang baik untuk bahasa-bahasa ini, tetapi saya telah menemukan beberapa konsep di balik bahasa logis yang berguna ketika mencoba mencari cara untuk menulis beberapa metode saya dalam bahasa yang lebih berorientasi objek. Saya tidak bisa fokus lama pada bahasa logis selama tahun-tahun kuliah saya, dan saya pikir fokus yang lebih kuat di sana mungkin bisa membantu saya.

Joel Etherton
sumber
6
Anda mungkin ingin menambahkan prototipikal ke daftar itu - misalnya, JavaScript.
stusmith
@stusmith - Prototipikal patut disebutkan, tetapi ini benar-benar bagian dari bahasa berorientasi objek, dan javascript adalah contoh terbatas yang terbaik. Saya akan menganggap itu mungkin tugas rumah dalam kursus bahasa pemrograman, tetapi tidak fokus.
Joel Etherton
1
+1 untuk Prolog. Saya telah melihat penggunaan praktisnya dan saya secara teratur menggunakan prototipe algoritma.
Fred Foo
@ Larsmans - Saya tertarik mendengar tentang penggunaannya oleh Anda. Saya belum menyentuhnya dalam beberapa tahun jadi saya tidak jelas tentang aplikasi praktis yang bagus. Apakah Anda memiliki tautan ke papan tulis atau artikel serupa?
Joel Etherton
Lihat ECLiPSe ( eclipseclp.org ), dialek Prolog open source yang digunakan secara industri oleh beberapa perusahaan besar Eropa (seperti perusahaan kereta api Prancis SNCF, jika saya ingat dengan benar; Saya akan mencoba dan menemukan referensi).
Fred Foo
6

Bahasa # 1 yang harus diketahui oleh setiap jurusan CS adalah yang memaksimalkan potensi mereka untuk mendapatkan pekerjaan yang hebat. Itu akan berubah seiring waktu, itu akan berubah berdasarkan pada definisi individu tentang pekerjaan yang hebat , dan itu akan bervariasi berdasarkan wilayah geografis.

Untuk saat ini, saya akan mengatakan bahwa bahasa Inggris adalah bahasa # 1 yang harus diketahui oleh semua jurusan CS (ini, tentu saja, berbeda di setiap wilayah.)

oosterwal
sumber
Pekerjaan yang bagus adalah efek samping dari gelar CS. Gelar CS hanya untuk itu, pengetahuan tentang teori komputasi. Saya bisa dengan mudah mendapatkan pekerjaan yang lebih baik di sekolah kejuruan alih-alih menyibukkan kepala saya dalam matematika & CS selama bertahun-tahun.
Jé Queue
2
+1 untuk Bahasa Inggris. Bahasa komputer adalah detail implementasi.
Wyatt Barnett
+1. Jika seseorang dapat belajar bahasa Inggris dengan baik, ia dapat mempelajari manualnya dengan baik. Saya tahu bahasa Inggris dengan baik. Saya tidak kesulitan belajar bahasa apa pun.
Shiplu Mokaddim
4

Saya pikir itu berubah seiring waktu, tetapi idealnya - 3 bahasa dari 3 perspektif yang sangat berbeda. Di hari saya itu adalah prosedural, OO, dan fungsional - Pascal, C ++, dan LISP. Saya tidak begitu dijual terutama pada ketiganya. Tetapi ketika saya wawancarai saya mencari:

  • Beberapa tingkat pengalaman dengan bahasa di mana Anda harus memperhatikan manajemen memori (C / C ++ dan banyak lainnya)
  • Beberapa tingkat pengalaman dengan bahasa berorientasi objek dengan harapan pada penggunaan API dan berbagai abstraksi yang tersedia (C ++ / Java)
  • Bahasa "peregangan" - sesuatu yang aneh, sulit, dan menantang. Saya tidak akan mempekerjakan karena seseorang tahu LISP, perakitan, atau bahasa yang menantang lainnya, tetapi saya ingin melihat bahwa insinyur menghadapi semacam tantangan yang melibatkan pemecahan masalah serius dan banyak "apa-apaan ini?" momen.

Sebagai perdagangan lain - saya pikir program CS perlu melatih siswa tentang bahasa-bahasa terkemuka di pasar. Pada waktu tertentu, saya pikir 2-3 bahasa memiliki keunggulan serius untuk sebagian besar pekerjaan. Saya pikir sekolah berhutang kepada siswa untuk memberikan kesempatan untuk belajar 2 dari 3 bahasa tersebut dengan pelatihan mendalam yang tersedia dalam setidaknya satu.

bethlakshmi
sumber
4

Untuk siswa CS, cari bahasa pemrograman yang dipetakan dekat dengan konsep CS yang sedang dibahas. Saya sarankan:

  • Skema, untuk lebih memahami kalkulus lambda
  • Erlang, untuk memahami model aktor
  • Prolog, untuk logika predikat dan sistem pembuktian
  • Haskell, untuk teori jenis / kategori, dan karena evaluasi yang malas diungkapkan sepenuhnya dalam bahasa
  • setidaknya satu bahasa rakitan - jika Anda ingin menghitungnya di bawah spanduk ini, saya juga akan memasukkan bahasa kode byte, seperti kode byte Java atau CLR, dan LLVM IR
  • mungkin bahasa definisi perangkat keras, seperti Verilog, atau VHDL
  • Bison untuk kelas konstruksi-kompiler
  • sesuatu dengan sistem tipe dinamis (Ruby datang ke pikiran) ...

Daftarnya bisa berlanjut seperti ini, tetapi ide dasarnya cukup sederhana: Ajari siswa bahasa pemrograman yang paling cocok dengan cara Anda ingin mengajarkan konsep.

Aidan Cully
sumber
3

ya

untuk mendapatkan ide tentang apa yang terjadi di balik layar, bahasa pemrograman apa pun yang Anda gunakan. ini membantu memahami konsep dasar seperti kode mati, dan berbagai jenis optimisasi yang dapat dilakukan oleh kompiler (baik) untuk Anda.

mariotomo
sumber
2

Gangguan (dengan CLOS untuk OOP) dan Haskell. Pertanyaan ini tidak terbatas pada siswa. Bahasa pemrograman baru yang mewah telah meminjam (disalin, dicuri? ... tidak, tidak buruk) banyak fitur dari keduanya. Anda bisa mempersiapkan diri untuk masa depan. Pemrograman fungsional (gaya) lebih penting hari ini dan diperkenalkan dalam bahasa pemrograman imperatif seperti C # (LINQ) atau C ++ (lambda) dan banyak lagi. Sayang sekali bahwa beberapa siswa hanya belajar Java.

knivil
sumber
1
Meskipun saya setuju dengan keduanya, Anda mungkin ingin meletakkan beberapa alasan (Saya juga akan mencatat bahwa tidak terlalu berguna untuk mengetahui ini sebagai satu-satunya bahasa Anda).
Inaimathi
2

Saya pikir bahasanya tidak sepenting orang percaya.

Ya, Anda perlu tahu cara memprogram dll, tetapi banyak programmer hebat belajar sendiri dari pengalaman dunia nyata mereka yang membantu mereka ketika berkembang.

Siswa dapat melakukan beberapa pelajaran tentang bagaimana pemrograman di dunia nyata dan bukan hanya metode buku, ini akan membuat mereka lebih "bulat" dan dalam pilihan saya pengembang / lulusan yang lebih baik.

Saya belajar lebih banyak tentang pemrograman dan pengembangan perangkat lunak setelah saya meninggalkan universitas dan mulai bekerja!

user18041
sumber
2

APAKAH ITU BENAR-BENAR MASALAH?

Biasanya gatal di balik pertanyaan ini adalah "Kata kunci apa yang dapat saya masukkan pada resume saya yang akan membuat saya mendapatkan pekerjaan yang paling menguntungkan / menarik / menantang / mudah?". Meskipun pertanyaannya memiliki kelebihan karena kebanyakan resume disaring pertama kali oleh orang-orang HR yang tidak mengerti apa yang mereka cari. tetapi sangat dangkal, karena sekali Anda telah melewati gerbang Anda perlu mengirimkan barang.

Bukan bahasa apa yang Anda tahu yang menjadikan Anda seorang programmer yang baik atau buruk, tetapi bagaimana Anda dapat menggunakannya. Untuk ini pada dasarnya ada dua kategori programmer:

  1. Orang-orang yang berkonsentrasi mempelajari bahasa pada intinya. Yang paling penting adalah bahasa dan cara menggunakannya. Pada ekstrem mereka cenderung super optimal setiap setitik kecil kode dan akan sering menggunakan fitur yang tidak jelas hanya karena mereka bisa.

  2. Lalu ada yang ingin belajar tentang teknik dan paradigma. Bahasa apa yang mereka gunakan tidak terlalu penting asalkan dapat mengekspresikan gambaran mental mereka dengan elegan. Pada ekstrem ini akan cenderung menggunakan UML atau sistem lain seperti berharap orang lain akan melakukan pekerjaan kasar dari pengkodean itu.

Menurut pendapat saya, Anda membutuhkan keduanya. # 1 akan memberikan keterampilan jangka pendek dan ketika dipilih dengan bijak akan memudahkan Anda melalui gerbang HR tetapi # 2 akan tetap dengan Anda semua karir Anda dan akan menentukan Anda sebagai seorang programmer.

# 2 akan memberikan panduan dan mengatur alur pemikiran Anda menuju solusi yang dapat mengatasi masalah yang ada, tetapi tanpa 1 itu akan tetap menjadi ide, selamanya mengambang di limbos surga vaporware (atau neraka tergantung dari mana Anda melihatnya).

# 1 akan memberi Anda sarana untuk mengimplementasikan ide-ide ke dalam sistem kerja nyata tetapi tanpa 2 sistem Anda akan cenderung menuju monster tak berbentuk kanker.

Newtopian
sumber
Ya itu penting. Bahasa pertama yang Anda pelajari membentuk otak Anda tentang bagaimana Anda akan melihat bahasa yang akan datang.
1

Saya yakin Anda sendiri sebagian menjawab pertanyaan Anda.

Yang paling penting adalah memberi siswa kesempatan untuk berhubungan dengan beberapa paradigma, bahasa yang sebenarnya tidak penting.

Tentu, penting untuk terutama mengajarkan paradigma-paradigma yang memberikan sebagian besar peluang kerja (mungkin OOP saat ini). Oleh karena itu, lebih baik mengajarkan bahasa yang digunakan secara luas untuk paradigma ini, karena ini lebih berguna daripada mempelajari sesuatu yang mungkin tidak akan pernah Anda gunakan. Karena itu saya juga benci harus menulis kode semu pada ujian saya. Pseudocode baik-baik saja, asalkan tidak memiliki sintaks 'diperbaiki'. Anda hanya bisa membawa konsep.

Jadi secara konkret:

OOP: .NET atau Java

Setidaknya 1 paradigma pemrograman tambahan, untuk membuat siswa sadar akan pendekatan lain.

Fungsional: Gangguan?

Steven Jeuris
sumber
fungsional, tidak, tolong, bukan LISP. melainkan: haskell.
mariotomo
1

Bahasa rakitan dan mikrokode. Seorang siswa CS harus memahami semua lapisan dasar abstraksi antara mesin negara boolean dan fungsional tingkat tinggi terbaru / OOP / dll. paradigma bahasa pemrograman.

Basic atau Logo atau Squeak (et.al.), jika mereka ingin dapat memahami bagaimana cara mengajar anak-anak kecil kemampuan membaca komputer.

Fortran, Cobol dan Lisp, jika mereka ingin memahami sejarah bahasa pemrograman, dan apa masalah sebenarnya yang diperbaiki oleh praktik modern.

hotpaw2
sumber
Dan C, jadi Anda memahami 90% dari semua kode sumber terbuka yang dapat Anda pelajari.
sayap kanan
1

Memilih 3 bahasa atau lebih dari paradigma yang berbeda tidaklah sulit, banyak jawaban bagus telah diberikan. Tetapi jika saya harus memilih hanya satu bahasa, saya akan menggunakan Scala, karena itu fungsional dan berorientasi objek. Anda dapat menjelaskan dan membandingkan berbagai pendekatan dalam bahasa yang sama.

Sean Patrick Floyd
sumber
1

Jangan lupa bahasa yang berorientasi stack / concatenative! Mereka bisa menjadi pembengkok pikiran yang nyata. Mereka menekankan membangun kompleksitas dengan menggunakan primitif kecil yang mudah dipahami. Anda dapat menggunakannya untuk menulis kode pointfree (atau diam-diam) yang terasa sangat bersih.

Bahasa klasik adalah Forth , tetapi tujuan saya saat ini adalah Factor . Juga patut dicoba adalah Joy dan Cat . Jangan lewatkan wiki bahasa concatenative . Ini lebih menyenangkan daripada tas yang penuh dengan palu!

Hanya sedikit Roger
sumber
0

Sesuatu yang fungsional, Haskell atau Lisp akan menjadi pilihan pertama saya, tapi mungkin Erlang. Bahasa fungsional benar-benar mengajarkan Anda bagaimana membangun abstraksi dengan cara yang sangat kuat.

Zachary K
sumber
Tetapi haruskah para siswa dibatasi pada satu paradigma? Bagaimana dengan bahasa OOP fungsional seperti Scala?
Anto
1
Tidak tentu saja tidak, saya berasumsi orang lain akan menyukai mereka!
Zachary K
0

Terlepas dari kurangnya arus utama, saya menemukan bahwa D, khususnya versi 2, memberikan beberapa pelajaran menarik yang tidak dapat dipelajari dengan mudah di tempat lain. Itu membuat upaya yang lebih serius daripada bahasa lain yang dapat saya pikirkan untuk mendapatkan pemrograman imperatif / prosedural, berorientasi objek dan fungsional untuk bermain baik satu sama lain, dan untuk memungkinkan pemrograman pada tingkat yang sangat rendah (pointer, manajemen memori manual, inline). bahasa rakitan) dan tingkat yang sangat tinggi (pemrograman generik dan generatif) dalam bahasa yang sama.

Ini berharga karena, daripada melihat paradigma dalam isolasi seolah-olah mereka ada di alam semesta yang berbeda, Anda bisa melihat hutan melalui pepohonan. Anda bisa melihat kekuatan dan kelemahan masing-masing paradigma pada tingkat yang halus saat Anda menggabungkannya ke dalam program Anda. Anda bisa melihat bagaimana aspek-aspek utama paradigma dapat diimplementasikan di perpustakaan dalam hal kode tingkat rendah. Modul perpustakaan standar std.algorithm mengimplementasikan primitif pemrograman fungsional yang penting, namun tetap, kode D sederhana tanpa sihir. Demikian pula, std.rangemengimplementasikan evaluasi malas, tetapi sekali lagi adalah kode D yang cukup sederhana. Anda bisa memahami biaya yang terlibat dalam primitif masing-masing paradigma, karena fitur D-dekat-ke-logam membuat apa yang sebenarnya terjadi di bawah tenda relatif transparan. Anda bahkan dapat menulis sesuatu tingkat rendah yang terlihat seperti C, dan kemudian membuat antarmuka tingkat tinggi yang cantik untuk itu, dalam bahasa yang sama, tanpa lapisan lem ajaib yang menghalangi.

dsimcha
sumber
0

Kodesemu.

Orang-orang di lapangan harus dapat menjelaskan ide-ide mereka dengan cara yang koheren, terstruktur tanpa dan kerangka kerja atau sintaksis spesifik jargon. Saya tidak harus tahu perbedaan antara tanda kurung siku dan kawat gigi Anda untuk memahami algoritma Anda. Saya seharusnya tidak perlu tahu apa ??artinya, atau apa grepsaklar itu.

Menulis dalam bahasa yang sederhana, tetapi struktur dan format itu seperti kode. Siapa pun dapat menerapkannya dalam bahasa apa pun yang mereka suka.

sunting: Jawaban ini sebagian dimotivasi oleh ketidakmampuan beberapa programmer untuk menulis kodesemu.

"Cukup tulis algoritme dalam pseudocode"

"Apa itu?"

Manfaat pseudocode adalah bahwa pemangku kepentingan non-pemrograman dapat memahaminya. Saya tidak menyarankan Anda ingin BA dan pengguna memeriksa kode Anda, namun dapat membantu ketika non-programmer memiliki pemahaman tentang algoritma yang diperlukan. Psuedocode menghilangkan kebutuhan untuk menjelaskan for (int i = 0; i < j; i++)dan apa yang pada dasarnya adalah jargon boilerplate.

Kirk Broadhurst
sumber
Banyak bahasa pemrograman cukup kuat sehingga ada sedikit perbedaan antara kode aktual dan kode semu. Elemen sintaks yang mana dari bahasa pemrograman aktual yang Anda keberatan?
kevin cline
@kevin cline - Saya nyaman dengan elemen sintaks yang saya tahu - itu yang saya tidak tahu bahwa saya mungkin keberatan. Tentu saja saya dapat menguraikannya, tetapi intinya adalah pseudocode seharusnya tidak memiliki masalah tersebut (saya belum melihat bahasa pemrograman yang benar-benar terlihat seperti pseudocode)
Kirk Broadhurst
0

C.

  • Pertama-tama, ini masih digunakan (banyak digunakan!), Dan tidak hanya untuk kernel. Saya saat ini mempertahankan aplikasi bisnis yang dikodekan dalam C. Jadi, bahkan dengan C murni dan sederhana, Anda masih bisa mendapatkan pekerjaan. Di perusahaan besar, di industri, hampir di mana-mana (tetapi di web dev).
  • Jika Anda akan bekerja di lingkungan Unix / Linux, tidak tahu setidaknya sedikit C sama dengan berbelanja dan tidak bisa membaca harga pada tag.
  • Pointer! Setiap orang harus memahami petunjuk (lih. Joel Spolsky ). Plus, begitu Anda meraih konsep malloc, Anda tahu persis hal-hal apa yang terjadi ketika Anda mengetik "baru" dengan sembrono di OOP.
  • Kebanyakan sintaksis "bahasa populer" berasal dari C.
  • Ya, tidak selalu jelas. Ya, sulit dipelajari. Ya, string agak menjadi mimpi buruk bagi pemula. Tetapi pemrograman tidak selalu jelas dan sulit untuk dipelajari, dan Anda akan benar-benar mengerti apa yang hebat tentang OOP ketika, setelah mempelajari C, Anda mencoba C ++ dan menemukan std :: string.

Tentu saja, seseorang harus tahu lebih dari satu bahasa, dan tidak hanya bahasa prosedural lama. Tetapi jika saya harus pergi ke pulau terpencil dengan hanya satu kompiler, saya akan pergi dengan gcc tua yang baik. Anda dapat memahami pemrograman tingkat tinggi jika Anda tahu tentang pemrograman tingkat rendah. Saya pikir itu tidak benar sebaliknya.

Raveline
sumber
0

Beberapa bahasa pemrograman yang diterapkan untuk memperoleh keterampilan pemecahan masalah umum, dan konsep pemrograman adalah Logo dan Karel, mereka harus diajarkan sebelum C / C ++ / Java / Lisp / PERL / Majelis / apa pun paradigma pemrograman.

Siswa mendapatkan pengantar pemrograman yang sangat praktis.

umlcat
sumber
-1

Apa pun dengan benda. Pastikan mereka mempelajarinya dengan baik.

Saya akan menyewa programmer java yang hebat untuk c # kapan saja, tapi saya akan memiliki banyak keraguan mempekerjakan seseorang yang tidak pernah menulis kode nyata

Eric
sumber