Saya tahu ada pertanyaan serupa di sini, yang saya baca, tetapi saya baru-baru ini membaca posting ini oleh Joel Spolsky:
Bagaimana saya bisa mengajar orang yang cerdas, tanpa pengalaman pemrograman, bagaimana memprogram?
Dan itu membuat saya berpikir tentang cara saya belajar dan apakah itu mungkin benar-benar berbahaya dalam jangka panjang.
Saya telah mencoba-coba berbagai bahasa tetapi C # adalah bahasa pertama saya yang serius, saya telah membaca "Head First C #" dan membuat beberapa proyek. Tetapi setelah membaca posting di atas, saya merasa sedikit mengecewakan bahwa saya mungkin melakukan semuanya salah, jelas saya menghormati pendapat Joel yang membuat saya sedikit terlempar.
Saya sudah mulai membaca "Kode" seperti yang direkomendasikan dalam daftar bacaan dan saya merasa cukup sulit, meskipun menyenangkan. Saya merasa seperti ini menghilangkan "noobish hacking about" saya di Visual Studio.
Jadi sekarang saya tidak yakin jalan apa yang harus saya ambil? Haruskah saya mundur selangkah dan mengikuti saran Joel dan mulai membaca?
Saya kira tujuan utama saya adalah hanya untuk menjadi programmer yang baik, seperti orang lain, tetapi saya tidak ingin menjadi praktik yang buruk dengan mempelajari bahasa .NET ketika seseorang yang pendapatnya saya hormati menganggap itu berbahaya.
Pikiran?
Jawaban:
Saya menghormati pendapat Joel juga, tetapi itu hanya itu: pendapat . Sama sekali tidak ada yang salah dengan menggunakan C # sebagai bahasa awal.
Saran terbesar yang bisa saya berikan kepada Anda, atau siapa pun yang melakukan pemrograman apa pun (bahkan jika mereka mulai menggunakan vanilla C!) Adalah untuk tidak stagnan, dan jangan menjadi orang yang religius . Saya tidak peduli apa bahasa pemrograman yang Anda mulai, atau seberapa murni atau benar bahasa itu - di zaman sekarang ini Anda tidak mampu duduk hanya di dunia pemrograman.
Sebagai contoh, saya mulai pemrograman dengan PHP3 kembali ketika saya masih remaja. Saya membangun beberapa aplikasi web kecil dan beberapa situs web dengannya; Saya berpikir bahwa saya adalah seorang programmer jenius dan bahwa saya bisa melakukan apa saja dengan PHP3, dan mengerutkan kening pada orang-orang yang semuanya tentang ASP atau BASIC. Wah, saya salah.
Saya tidak mulai benar-benar berkembang sebagai pengembang sampai saya mulai memperluas wawasan saya dan mempelajari bahasa dan konsep pemrograman lainnya. Selama sekolah menengah saya belajar RealBASIC, dan kemudian Visual Basic. Setelah sekolah bisnis, ketika saya menjadi pengembang profesional, saya mulai belajar C # dan Javascript dengan sungguh-sungguh.
Sekarang, jangan salah paham di sini - saya tidak menganjurkan Anda mencoba menjadi Jack of All Trades. Pada intinya, dan dalam perdagangan, saya masih seorang programmer PHP. PHP adalah roti dan mentega saya, dan saya tahu itu dalam dan luar. Namun, keterampilan PHP saya tidak menjadi apa yang baru saja mereka lakukan PHP. Berikut adalah beberapa konsep yang sangat penting yang saya tidak pahami dari PHP, meskipun bekerja secara profesional.
Saya dapat melanjutkan, dan begitu banyak orang lain di situs ini juga, selama berhari-hari. Meskipun saya seorang programmer PHP, saya dapat membawa semua konsep indah ini kembali ke pekerjaan yang saya lakukan setiap hari.
Apa maksud saya? Pelajari C #. Menjadi master C # - Anda akan memiliki karir yang panjang dan sukses dan Anda mungkin akan mencapai beberapa hal luar biasa. Tapi jangan berlubang-lubang sendiri. Perjalanan, dan cicipi bahasa dan lingkungan serta konsep lain.
sumber
Ini mengingatkan saya pada sebuah kisah yang melibatkan Richard Feynman. Seorang mahasiswa di Caltech meminta ahli kosmologi terkemuka Michael Turner apa "Bias" nya di memihak jenis partikel sebagai calon untuk terdiri dari materi gelap, dan Feynman bentak dan berkata "Mengapa Anda ingin tahu nya bias? Bentuk Anda sendiri! ... Jangan memperhatikan otoritas, pikirkan sendiri. "
Programmer berasal dari semua lapisan masyarakat. Jawa diajarkan di banyak sekolah menengah dan perguruan tinggi saat ini, namun belum ditemukan ketika Joel Spolsky masih di sekolah. Tidak ada "satu jalan yang benar" ketika datang untuk menjadi programmer yang baik. Tentu saja ada beberapa klasik seperti SICP yang sebagian besar programmer sengaja temui, tetapi tidak ada standar yang keras dan cepat. Yang utama adalah memulai dari suatu tempat, dan fokus pada membangun konsep. Seorang programmer hebat pernah mengatakan sesuatu seperti:
Saya pikir C # adalah bahasa yang baik untuk memulai, tapi saya memperingatkan Anda untuk waspada terhadap Visual Studio. Ini adalah IDE yang luar biasa, tetapi jika Anda menyeret
DropDownList
dan mengikatGridView
keObjectDataSource
dan menggunakanButton
kontrol untuk melakukanDropDownList
pencarian berbasis, maka sebagian besar pekerjaan dilakukan oleh IDE dan Anda tidak benar-benar pemrograman. Manfaatkan alat IDE, tetapi selalu mencoba membangun konsep dan mengembangkan pengetahuan.sumber
Saya hanya seorang junior, tetapi dengan semua kerendahan hati dan rasa hormat untuk mereka yang jauh lebih berpengalaman, saya harus mengakui bahwa saya juga tidak mendapatkan sikap ini.
Seorang programmer berkomentar di bawah jawaban Joel: " sebagai seseorang yang harus membenturkan kepalanya di atas meja atas" programmer "yang datang sangat direkomendasikan untuk kemampuan C # mereka, tetapi tidak dapat melakukan hal-hal sederhana seperti menerapkan kelas dasar yang didokumentasikan dengan sangat baik, temukan kebocoran memori dalam program c dan c ++ " ...
Tetapi mengapa harus menemukan kebocoran memori di aplikasi C ++ menjadi sederhana bagi seseorang yang tidak pernah mengaku tahu C ++? :) Saya tidak mengerti. Ini seperti mengkritik seorang psikolog karena kurangnya keterampilan dokter gigi. Saya pasti tidak programmer yang baik, tapi aku merasa ini bukan karena saya tidak tahu C ++ - itu karena saya tidak tahu cukup baik kerangka dan bahasa yang saya saya menggunakan.
"tidak bisa melakukan hal-hal sederhana seperti menerapkan kelas dasar yang didokumentasikan dengan sangat baik (...) atau hanya mencari masalah sendiri atau mempelajari ide baru bahkan dengan kecepatan sedang"
OK, tetapi - korelasi tidak berarti sebab-akibat, dan apa yang membuat kita berasumsi bahwa kurangnya keterampilan pemrograman umum - yang saya tidak ragu - adalah hasil dari pilihan bahasa mereka?
Atau efek dari C # menjadi bahasa pilihan pertama mereka , dalam hal ini?
Aku bisa melihat penjelasan yang masuk akal lainnya (mungkin C # hanya trendi, dan karena itu menarik banyak pemula ... kebanyakan orang untuk siapa C # adalah bahasa pertama belum pemrograman sangat lama sekali , dan yang lebih dari cacat di haknya sendiri daripada tidak pernah pemrograman dalam bahasa lain ... dll, dll.).
sumber
free
menatap langsung ke wajah Anda, bagaimana Anda akan mengenalinya dalam program yang ditulis dalam bahasa yang tidak memberikan petunjuk seperti itu?using
,IDisposable
, event referensi pendengar mereka dll), tapi aku bahkan tidak bisa serius berusaha untuk mendiagnosis memori bocor dalam aplikasi C ++, karena saya bahkan tidak terbiasa dengan sintaks! Saya tidak tahu apa artinya tanda bintang.Saya akan mengatakan mempelajari satu bahasa dan tetap menggunakannya lebih dari kesalahan daripada memutuskan bahasa yang Anda harus mulai dengan. Ada beberapa bahasa yang bisa Anda pelajari yang tentu saja lebih mudah, tetapi lebih baik untuk mencoba dan mulai belajar yang banyak Anda akan gunakan (di sekolah pengaturan pilihan bahasa sudah dibuat oleh sekolah). Setelah mempelajari bahasa dengan benar dan menggunakannya secara aktif setelah beberapa bulan, Anda harus mencoba-coba bahasa pemrograman lain dan membandingkannya.
Di .NET mudah bagi Anda untuk pergi dengan dua ( semacam ) bahasa pemrograman yang berbeda karena Anda dapat beralih antara Visual Basic dan C #. Jadi Anda bisa belajar Visual Basic dan melihat perbedaannya. Pada level ini Anda harus mahir dengan coding prosedural dasar dengan tiga struktur pemrograman dasar, jika Anda bisa berkreasi dengan semuanya (dan tahu cara menggunakan variabel) maka Anda sedang dalam perjalanan untuk menjadi programmer yang hebat:
Tidak masalah apakah bahasa pemrograman sekunder Anda akan menjadi yang paling aktif atau tidak, hanya mengetahui bahwa bahasa pemrograman (khususnya jika mereka mengikuti paradigma yang sama) sangat mirip satu sama lain dan ada nuansa kecil yang benar-benar berjalan jauh untuk membuat Anda memahami bagaimana pemrograman perangkat lunak bekerja.
Dari itu, setidaknya setahun sekali, cobalah untuk belajar bahasa pemrograman baru yang mengikuti paradigma pemrograman lain . Anda tidak perlu sepenuhnya mengikuti bahasa baru tetapi ada beberapa manfaat untuk mengetahui paradigma lain. Ada beberapa paradigma, dan beberapa bahasa pemrograman mencampurkan banyak (perhatikan bahwa C # sebenarnya memiliki subset dari tiga berikut):
Hal terpenting yang harus Anda pelajari adalah bahwa banyak bahasa pemrograman mengikuti serangkaian idiom dan API dasar mereka sendiri. Jadi ketika Anda mempelajari bahasa baru, cobalah untuk mempelajari idiom-idiom dan API itu dengan baik dan Anda akan baik-baik saja ketika Anda membuat sesuatu. Salah satu alasan bagus adalah Anda akan menjadi lebih baik dalam mendesain dan memecahkan masalah pemrograman. Beberapa idiom dalam satu bahasa, mungkin memberi Anda wawasan tentang bagaimana menyelesaikan masalah dalam bahasa utama Anda.
Ketahuilah bahwa ada juga alasan lain yang sangat bagus mengapa Anda harus belajar bahasa pemrograman lain, selain bahasa utama yang paling banyak Anda gunakan: Peluang kerja Anda jauh lebih besar.
sumber
Fokus pertanyaan Anda dan banyak jawaban di sini ada di C #. Dari Wikipedia :
Berdasarkan itu saja, tampaknya aman untuk mengatakan bahwa Anda bisa belajar C # sebagai bahasa pertama tanpa melakukan kerusakan jangka panjang pada otak Anda. Saya tidak berpikir bahwa Joel mengutuk seluruh bahasa, ketika dia menulis :
Masalahnya bukan bahasa, itu mengambil jalan pintas. Terlalu sering, orang mencoba mengambil rute cepat ke tujuan akhir mereka dengan mengikuti tutorial langkah-demi-langkah atau "belajar segalanya dalam 24 jam" buku. Anda tidak perlu menghabiskan terlalu banyak waktu di Stack Overflow sebelum Anda mulai memperhatikan bahwa ada banyak pertanyaan di sepanjang baris: "Saya tidak pernah menulis garis kode dalam hidup saya, tapi saya masuk ke iPhone pemrograman! Bisakah seseorang tolong beri saya petunjuk langkah demi langkah untuk melakukan persis apa yang ingin saya lakukan? Terima kasih! " Saya tidak mengatakan bahwa Anda mengambil pendekatan itu, tetapi itu sesuatu yang harus Anda waspadai.
Jika Anda ingin mengembangkan keterampilan pemrograman yang solid, Anda harus mulai dengan mempelajari keterampilan dasar. Jika Anda mencoba melompat langsung ke aplikasi OOP dan GUI dan semacamnya, Anda mungkin akan kehilangan fundamental tersebut. Buku-buku yang ditunjuk Joel memang sangat bagus. Saya hanya membaca Buku C # Kuning (PDF), tetapi sepertinya ini adalah pengantar pemrograman yang lebih baik daripada kebanyakan buku C # yang saya lihat di toko.
sumber
Bagi saya, hal-hal dalam artikel lain itu sedikit menjadi omong kosong elitis. Ya, saya sering merekomendasikan SICP kepada pengembang serius yang benar-benar ingin menjadi lebih baik, tetapi hanya untuk mereka yang ingin melampaui "norma" dan belajar sihir yang mendalam. Memang, selama bertahun-tahun SICP adalah teks pemrograman mahasiswa baru standar MIT; tetapi, banyak programmer yang bekerja solid tidak pernah memiliki kesempatan untuk menghadiri institusi yang bagus tapi mahal dan sangat selektif.
Jadi apa yang saya rekomendasikan, untuk menjawab pertanyaan Anda? Mulailah dengan apa yang Anda miliki dan pelajari cara berpikir seperti seorang programmer, daripada hanya belajar bahasa tertentu.
Jika Anda memiliki implementasi C # yang tersedia, yah, saya dapat memberi tahu Anda bahwa itu adalah bahasa yang sangat baik untuk kerja yang kaku seperti saya — seperti halnya Java, JavaScript, Python, Ruby, Scala, Skema, dan banyak bahasa lain yang saya miliki pelajari selama bertahun-tahun. Pada akhirnya, saya mencoba memilih bahasa dan alat yang tepat untuk pekerjaan tertentu, dan itu berarti beralih bahasa seperti topi.
Tidak ada yang salah dengan menggunakan cara-cara menyenangkan untuk belajar, seperti mendekati Ruby melalui Why's Poignant Guide and Shoes (seperti yang saya rekomendasikan di pos terbaru lainnya ). Ada jalan misterius dan mistis, seperti membenturkan kepala Anda melawan The Little Schemer dan The Seasoned Schemer dalam perjalanan Anda ke SICP . Banyak pemikir modern akan membuat Anda melewatkan semua hal yang lebih tua akademis dan "perusahaan" dan terjun langsung ke JavaScript, JQuery, dan HTML5 sebagai gantinya. Ada banyak cara untuk memulai jadi jangan buang waktu terlalu banyak. Cukup pilih satu dan dapatkan kode!
Secara realistis, saya percaya beberapa profesional yang bekerja hari ini akan mengirim Anda mundur untuk mempelajari Assembler atau C / C ++ terlebih dahulu. Terus terang, jika mereka melakukannya, saya tidak percaya mereka akan melakukan banyak layanan untuk Anda.
Jadi, untuk memperindah sedikit tentang "mulai dengan apa yang Anda miliki," saya punya tiga nasihat lagi:
Saya mulai dengan FORTRAN IV dan QBASIC dan jika itu tidak merusak saya, C # tidak akan menyakiti Anda juga! Semoga berhasil dan pastikan Anda bersenang-senang sambil belajar!
sumber
Saya pikir nasihat terbaik yang pernah saya lihat ketika orang bertanya, "Bahasa apa yang harus saya pelajari?" sederhana: seorang programmer yang baik dapat bekerja dalam bahasa apa pun.
Ada beberapa argumen yang menentang pernyataan itu, saya yakin, tetapi intinya adalah: belajarlah untuk menjadi programmer yang baik, alih-alih seorang ahli bahasa, terlebih dahulu. Pembangun tidak berspesialisasi dalam membangun tepat di satu bidang tanah, mereka mempelajari keterampilan perdagangan mereka dan menerapkannya di sebidang tanah apa pun yang mereka butuhkan.
sumber
Kadang-kadang saya curiga bahasa pilihan lebih banyak berhubungan dengan kepribadian kita dan cara kita terhubung dan lebih sedikit berkaitan dengan pertimbangan praktis atau akademis daripada yang ingin kita akui.
Yang mengatakan, belajar hal baru tidak pernah berbahaya. Anda akan tahu hari Anda telah melewati ambang batas menuju otak yang berkembang atau mungkin rusak (semua masalah perspektif saya kira) ketika Anda mulai menyadari bahwa semuanya memiliki manual. Anda pada akhirnya dapat benar-benar melakukan apa pun yang Anda inginkan jika Anda memiliki bakat dan benar-benar tertarik dalam melakukan daripada aspek keberadaan seorang programmer.
Setidaknya main-main dengan Python dan JavaScript. Ini adalah keuntungan pembelajaran yang pasti untuk benar-benar dapat hanya menulis kode dan melihatnya langsung dieksekusi dalam file I / O lingkungan konsol yang dapat diakses seperti IDLE atau lingkungan kotak pasir seperti browser. Apa yang saya tidak suka tentang C # dan Java adalah bahwa mereka ingin semuanya terbatas pada kelas bahkan jika Anda benar-benar hanya menulis fungsi sederhana dengan pembungkus tidak berguna di sekitarnya untuk membuat teman-teman Anda atau kompiler yang terlalu membatasi senang. Hal lain yang saya sukai dari JS dan Python adalah mereka benar-benar membiarkan Anda mengatur paradigma Anda sendiri. Agak terlalu fleksibel oleh banyak preferensi pengembang. Saya masih tidak yakin apa yang harus dipikirkan tentang kebijaksanaan operator dasar yang kelebihan beban, tetapi saya cukup yakin saya suka Python karena mengizinkan opsi.
Juga jangan jatuh pada kebohongan kejam memilih bahasa utama dengan daftar pekerjaan terbanyak. Lebih baik menjadi ikan besar di perairan sedang melakukan apa yang Anda suka daripada anggota gerombolan ikan yang sebagian besar tidak bisa diselamatkan yang mengubah setiap pencarian kerja menjadi lebih banyak lotre daripada proses pencocokan.
sumber
C # tidak seburuk Jawa dengan rentang yang cukup besar. Mereka memiliki dukungan yang lebih baik untuk banyak konsep seperti pemrograman fungsional, pemrograman generik, penghancuran deterministik dan jenis nilai, kelebihan operator, dll. Dukungan mereka untuk fitur-fitur ini masih bisa menggunakan banyak pekerjaan, tentu saja, tetapi jauh lebih baik daripada Java, bahkan jika tidak ada C ++.
Kedua, saya pikir Anda salah membaca apa yang dikatakan Joel. Jika Anda dapat menguasai petunjuk dan rekursi, maka tidak masalah bahasa apa yang Anda gunakan sekarang. Yang paling penting adalah menggunakan sedikit
unsafe
kode, memahamiunsafe quicksort
atau sesuatu, dan kemudian kembali ke sisa C # normal.Oh, dan mulai membaca :)
sumber
Bahasa pertama yang produktif bagi saya adalah C #. Meskipun saya telah mengutak-atik Foxpro di waktu sekolah dan sedikit C di Perguruan Tinggi. C # cukup bagus dan titik awal yang sangat bagus untuk siapa pun. Ini mengikuti dasar-dasar umum pemrograman seperti pengetikan yang kuat, enkapsulasi, dll warisan yang saya percaya orang harus selalu belajar, tidak peduli apakah mereka menggunakannya atau tidak. Kemudian, Anda selalu dapat pindah ke bahasa lain seperti Python yang tidak mengikuti standarisasi pemrograman dasar.
Faktor tambahan lainnya yang orang tidak benar-benar tambahkan ke aspek pembelajaran C # adalah ketersediaan IDE terbaik untuk bahasa apa pun yang saya lihat. Eclipse IDE juga bagus, tetapi begitu Anda menggunakan Visual Studio, Anda akan berterima kasih pada microsoft.
C # ditingkatkan lebih dari C, memastikan bahwa Anda tidak perlu belajar bahasa lain sebelumnya. Semua bahasa lebih dari satu dekade telah berevolusi dari sifat C, bahkan JAWA.
Jadi, putusannya adalah, C # adalah titik awal yang bagus yang membuat Anda dapat mempelajari bahasa lain dengan cepat di masa depan
sumber
Mempelajari C # sebagai bahasa pertama bukanlah kesalahan selama Anda cepat atau lambat melanjutkan dan mulai belajar bahasa kedua. Itu jauh lebih penting. Bahkan lebih baik jika bahasa kedua itu agak berbeda dari C # (javascript atau ruby akan dalam hal itu lebih baik dari java). Setiap bahasa memiliki pro dan kontra, dan perbedaan itulah yang akan membuat Anda menjadi programmer yang lebih baik dalam jangka panjang.
sumber
Sebanyak yang saya sarankan agar Anda belajar banyak bahasa (seperti yang disarankan orang lain), pastikan Anda tahu (beberapa) bahasa yang Anda pelajari dengan sangat baik.
Risiko mengetahui banyak bahasa adalah bahwa Anda mungkin tidak pernah belajar bahasa yang benar-benar menyebabkan frustrasi ketika sebenarnya ingin menyelesaikan masalah.
Mengetahui konstruksi for-loop adalah banyak bahasa yang menyenangkan tetapi tidak berguna jika Anda tidak tahu cara menangani kesalahan di dalamnya.
sumber
Jangan khawatirkan diri Anda sendiri bahwa Anda kebetulan belajar C # terlebih dahulu. Ini sama dengan khawatir bahwa langkah pertama Anda diambil dengan kaki kiri atau kaki kanan Anda. Satu-satunya perbedaan antara mempelajari bahasa yang dikelola terlebih dahulu adalah Anda hanya menunda ketika Anda harus mempelajari petunjuk dan manajemen memori yang terperinci. Ini sebenarnya dapat membantu Anda, karena ketika saatnya untuk belajar C satu-satunya hal baru yang Anda khawatirkan adalah manajemen memori - Anda juga tidak akan juggling mencoba mempelajari struktur kontrol, konsep fungsi, dll. Dan akan dapat berkonsentrasi sepenuhnya pada pointer dan manajemen memori.
Stereotip ada karena ada pemrogram bahasa yang dikelola yang tidak pernah melakukan bagian kedua itu dan mempelajari C dan C ++, dan kemudian diterapkan pada pekerjaan C dan C ++.
Ini seperti mempelajari alat musik - yang pertama sulit karena Anda mencoba mempelajari mekanisme membaca musik tertulis DAN mekanika fisik mengartikulasikan suatu alat untuk melakukan apa yang Anda inginkan. Untuk instrumen kedua dan selanjutnya yang Anda pelajari, Anda dapat berkonsentrasi hanya pada apa yang membuat instrumen itu berbeda dari apa yang sudah Anda ketahui.
sumber
Sulit bagi pemula, tanpa keraguan. Saya sudah melakukan vb, javascript, PL / SQL, T-SQL, Uniface dan sedikit C # untuk beberapa nama.
Seseorang sebelumnya menyebut Visual Basic sebagai tempat mereka belajar tentang pemrograman berorientasi objek, dan sejujurnya VB.NET memiliki sintaksis yang paling mudah dimengerti dari bahasa apa pun yang pernah saya lihat. Fitur terbaik adalah bahwa kata kunci cocok dengan konsep yang dijelaskan dengan cermat.
mis. Function myHandler () menangani myButton.click
atau Kelas Manusia Memperluas mamalia mengimplementasikan intelligentLifeform
Serius, untuk keterbacaan ketika Anda seorang pemula apa lagi yang Anda inginkan dari sintaks?
Ketika Anda mencari properti dan metode (dan membedakan antara subs dan fungsi) itu jauh lebih mudah dibaca di VB.
Demikian pula saat mendeklarasikan variabel
Dim myString As string - jelas yang merupakan tipe dan yang merupakan contoh
Sensitivitas kasus C mendorong apa yang bagi saya merupakan kebiasaan buruk - memiliki nama yang sama untuk kelas dan contoh dengan satu huruf besar dan satu huruf kecil.
misalnya
Manusia manusia
jika Anda memanggil human.think, akan mudah untuk keliru contoh untuk kelas dan berpikir Anda memanggil metode statis sekilas. Dan sering melirik bagaimana kita memahami kode, kita tidak punya waktu untuk mengarahkan setiap elemen untuk membiarkan editor memberi tahu kita apa yang terjadi.
C # mungkin memiliki beberapa kelebihan, tetapi jauh lebih sulit untuk memulai - meskipun menghemat mengetik. Itulah mengapa harus ada tempat untuk kedua bahasa tersebut.
sumber
Dim myHuman as Human
jauh lebih baik? : DKelemahan terbesar yang bisa saya lihat adalah bahwa Visual Studio dan alat-alat yang terkait sangat, sangat bagus - hal-hal seperti intellisense dan penyelesaian kode dapat dengan mudah menjadi tongkat penyangga. Saya biasanya berpendapat bahwa lingkungan bisa sangat baik dan mendukung bahwa Anda cenderung merasa sedikit tersesat ketika Anda perlu, katakanlah, retas kode ruby dalam editor teks. Oh, dan biasanya kamu juga akan ketinggalan barang seperti LINQ.
sumber
C # baik-baik saja untuk memulai pemrograman.
Ini adalah apa yang saya diberitahu untuk memulai, bahkan tanpa memiliki kesempatan untuk bermain-main dalam hal lain (selain dari Hello World di Jawa, beberapa hal LOGO dasar, dan beberapa hal di Scratch, tetapi tidak ada yang "Serius").
Secara keseluruhan, ini bisa sulit - ada banyak hal yang tampaknya tidak intuitif, dan memang ada keterbatasannya, tapi saya pikir ini mendorong pengkodean yang baik dan bagus sekali setelah Anda menguasainya. Maksud saya, ini memberi Anda lebih banyak kekuatan dan sedikit lebih profesional daripada Python (yang biasanya disarankan), dan itu akan membuat perbedaan dunia - mencoba C ++ setelah C # tidak terlalu menyakitkan, tetapi jika saya mulai dengan Python, maka itu akan menjadi rintangan yang sangat besar, bahkan hanya pada level sintaksis.
Juga, ia memiliki dukungan lintas platform yang baik dalam bentuk Mono (bagi Anda yang berpikir Mono bukan masalah besar - Mesin Game Unity memungkinkan Anda kode dalam versi itu). Ini juga sangat berguna untuk sebagian besar hal, apakah itu game scripting, atau desain web, atau Aplikasi Windows. Tentu saja, beberapa bahasa akan lebih baik untuk baris tertentu, jadi itu akan tergantung pada arah umum apa yang Anda rencanakan - misalnya, jika Anda menuju ke arah web, maka C # (ASP.NET) pasti akan menjadi ide bagus. Jika Anda berencana untuk bermain, maka Anda harus berpikir tentang C ++.
Pada akhirnya, ada baiknya mempelajarinya, bahkan jika Anda akhirnya tidak menggunakannya karena kesederhanaan Python atau sifat kuno Jawa (karena siklus rilis untuk Jawa BENAR-BENAR lambat) - Anda belajar pengkodean yang baik praktek, sementara tidak terlalu rumit untuk pemula untuk belajar.
sumber
Untuk menjadi seorang programmer Anda harus memiliki hasrat. Programmer yang saya tahu adalah orang-orang yang keluar dari jalan mereka untuk belajar dan melihat perubahan industri. Saya memulai pemrograman saya dengan dasar pada Commodore Vic 20 (Ya itu lama) dan terus beralih ke bahasa baru lainnya. Bagian dari tahun pemrograman saya bahkan termasuk COBOL. Saya juga mulai memperhatikan bahwa beberapa bahasa bekerja paling baik dalam proses tertentu vs yang lain. Saran saya kepada Anda adalah mempelajari bahasa apa pun dan memahami konsep pemrograman dasar seperti loop, metode, perbandingan. Sebagian besar bahasa mendukung ketiga konsep tersebut. Anda seharusnya tidak pernah mengatakan "Ini adalah cara terbaik" melainkan "Bagaimana saya bisa meningkatkan ini". Hal terburuk tentang kalimat terakhir itu adalah Anda bisa menguasai teknik. Pemrograman itu menyenangkan, buatlah itu menyenangkan! Internet membuka cara baru untuk mengalami pemrograman karena tingkat akses yang kita miliki terhadap informasi saat ini sangat mengejutkan. Bagi saya sebelum internet saya harus pergi ke rak dan menarik buku-buku pemrograman IBM GREY dan belajar. Hari ini Anda bisa mengetikkan sesuatu ke google dan whammo.
sumber
Wow banyak jawaban. Inilah sudut pandang saya:
C # bukan tempat untuk belajar ilmu komputer. Saya melihatnya sebagai ide yang sangat buruk. Saya akan mencantumkan beberapa kekhawatiran saya di bawah ini.
Terlalu lelah untuk melanjutkan begitu cepat memilih bahasa lain.
sumber
Saya akan merekomendasikan C # atau bahasa apa pun yang menawarkan tiga hal ini pada intinya:
Diketik sepenuhnya dikompilasi dan berorientasi objek sepenuhnya ..
Bahasa pertama yang menawarkan tiga inti ini akan mengajarkan banyak tentang aliran program, sintaksis, dan bagaimana melakukan pemecahan masalah dengan cara yang lebih terstruktur. Saya hidup dan bernafas dalam sekelompok bahasa besar yang tidak memiliki atribut ini tetapi jika saya mengajar seseorang bahasa saya akan memilih satu yang memiliki tiga persyaratan ini.
sumber
Tidak, jawaban itu mengerikan. Mengapa? Yah, dia memang meresepkan beberapa buku bagus yang harus kamu baca, tetapi tanpa kerja di ruang kelas dan lab (lab komputer), kamu akan tersesat dan frustrasi. Anda harus bersama sekelompok programmer baru bereksperimen karena ada begitu banyak yang harus dipelajari selain apa yang ada di buku-buku itu. Saya tidak mengatakan Anda harus menggunakan BSCS, tetapi Anda perlu akses ke instruktur yang berpengetahuan luas juga ketika banyak hal bisa salah, seperti masalah kompiler, membangun lingkungan ... sebut saja. Anda tidak akan menjadi programmer yang bekerja di ruang hampa. Buku apa pun yang dibutuhkan kursus Anda akan cukup baik selama Anda memilih sekolah yang setengah jalan.
Jadi, daftar untuk beberapa kelas dan itu akan jauh lebih menyenangkan! Plus, jika Anda berencana untuk mendapatkan pekerjaan sebagai programmer Anda perlu koneksi dan Anda akan mendengar semua buzz tentang perusahaan yang merekrut di kampus, dll.
Akhirnya, pendidikan formal sangat penting karena pemrograman membutuhkan banyak pengetahuan latar belakang teoritis untuk memahami bagaimana segala sesuatu seharusnya bekerja di semua tingkatan (hw / sw) sehingga Anda dapat mencari cara untuk memperbaiki hal-hal. Hampir semuanya adalah kotak hitam, jadi Anda harus bisa mencari tahu mengapa ada yang berperilaku seperti itu sehingga Anda dapat mengambil tikaman logis berikutnya dalam gelap. Tanpa setidaknya gelar pemrograman 2 tahun (apa pun namanya) Anda akan dirugikan.
PS Saya tidak akan pergi dekat. Net, atau C #, sampai Anda mengalami Java. C # tidak enak dipandang. Ini kode yang terlihat berantakan dan berantakan. . Net IDE menyebalkan melampaui kepercayaan. Ini di zaman kegelapan standar IDE. Java: C # ~ Data: Lore
sumber