Saya telah menulis cukup banyak PHP selama hampir dua tahun. Sekarang saya sedang melakukan pengembangan .NET (terutama c #). Namun, terkadang saya kembali dan melakukan beberapa php.
Pertanyaan utama saya adalah, apakah bijaksana bagi saya untuk terus melakukan ini atau haruskah saya melanjutkan pengembangan dalam C #? Apakah ini akan membahayakan saya dalam jangka panjang (ingatlah bahwa tujuan utama saya bukanlah menjadi penarik semua perdagangan) atau apakah itu praktik yang baik untuk dilakukan?
Jawaban:
Menggunakan dua bahasa pada saat yang sama bukanlah apa-apa. Bukan hal yang aneh bagi programmer untuk menggunakan beberapa bahasa yang berbeda setiap hari. Tugas yang berbeda dan teknologi yang berbeda membutuhkan bahasa yang berbeda pula.
Hanya hari ini, saya sudah menggunakan empat atau lima bahasa yang berbeda, dan itu menarik karena saya haven'd dilakukan setiap pemrograman sejauh ini. Yang saya lakukan hanyalah mengerjakan presentasi.
Sebagai seorang programmer yang baik, pada dasarnya dituntut untuk mengetahui jalan Anda dalam beberapa bahasa, dan satu-satunya cara untuk mencapai (dan kemudian melestarikan) kelancaran yang masuk akal adalah dengan menggunakan bahasa-bahasa itu.
sumber
Ini adalah praktik yang sangat baik. Selain itu, saya akan merekomendasikan memperluas daftar bahasa Anda secara teratur dengan mencoba yang baru.
Bahasa dan teknologi masuk dan keluar sangat disukai dengan cepat, dalam beberapa tahun. Sebagai contoh, Objective C lepas landas dengan kekuatan luar biasa setelah hampir mati selama dua setengah dekade - keabadian menurut standar industri ini!
Tidak masalah bahwa Anda berencana untuk "tidak menjadi jack o all trades": jika Anda berencana untuk tetap di industri cukup lama, sangat aman untuk mengasumsikan bahwa Anda harus mengganti tumpukan teknologi Anda setidaknya sekali sepanjang karir Anda. Menggunakan banyak bahasa sekarang membuat Anda siap untuk mengaktifkan pemberitahuan yang cukup singkat.
sumber
Mengetahui dua bahasa atau lebih tidak akan pernah membahayakan Anda. Mengetahui bahasa Anda sangat dangkal (tanpa memahami cara kerja orang dalam) dapat membahayakan Anda.
Preferensi pribadi saya selalu menguasai satu bahasa pemrograman berorientasi objek terlebih dahulu . Ini akan memberi Anda pembelajaran mendalam tentang semua konsep pemrograman, dan kemudahan untuk mempelajari konsep berikutnya begitu ada kebutuhan.
Pastinya ya!
Saya akan menyarankan untuk belajar lebih dari satu dan mempraktikkannya dengan membangun beberapa aplikasi. Sementara itu, Anda juga dapat merencanakan untuk mempelajari beberapa bahasa penulisan skrip (jQuery, KnockoutJs, dll.) Dan pustaka jika Anda melakukan atau berencana melakukan pengembangan web.
sumber
Seharusnya tidak akan membahayakan Anda dalam jangka panjang, karena mahir dalam sejumlah bahasa menjadikan Anda pengembang yang berpengetahuan luas. Menggunakan "alat yang tepat untuk melakukan pekerjaan yang benar" adalah tujuan akhir dan menjadi fasih dalam berbagai bahasa membantu Anda mencapai hal itu karena Anda tahu apa lagi yang ada di luar sana dan dapat membuat keputusan yang terinformasi dengan baik tentang platform / kerangka / bahasa apa yang akan digunakan untuk selesaikan sesuatu.
sumber
Selama karir Anda, Anda harus belajar bahasa baru dan teknologi baru; industri hanya membutuhkannya. Pada tugas profesional pertama saya, saya harus mengirimkan kode yang ditulis dalam Ada, C, dan Fortran, bersama dengan beberapa skrip SQL dan shell. Saya harus beralih dari C ++ ke Java dan kembali lagi dalam beberapa tahun terakhir. Saya telah menulis skrip shell dalam csh, bash, dan perl.
Meluangkan waktu untuk mempelajari berbagai bahasa, terutama jika mereka berada di domain yang berbeda (OO, fungsional, logis, dll.) Akan membantu Anda dalam beberapa cara. Ini akan membuat otak Anda tajam. Ini akan membantu Anda memisahkan konsep dari implementasi (misalnya, hash dan peta bukan hanya tipe data dalam bahasa tertentu). Ini akan memberi Anda gagasan yang lebih baik tentang alat apa yang sesuai untuk masalah yang diberikan (misalnya, saya tidak akan membangun situs Web di C, dan saya juga tidak akan menulis driver perangkat di Haskell). Mungkin memudahkan Anda untuk mencari pekerjaan ("Hei, dia sudah tahu Intercal 1 , kita tidak perlu melatihnya!"). Ini akan memberi Anda gambaran tentang tantangan apa yang dihadapi desainer bahasa. Mungkin menginspirasi Anda untuk membuat bahasa pemrograman Anda sendiri.
Paling tidak, itu akan membuat Anda tidak bosan.
1. Lelucon. Jangan mencoba mempelajari Intercal.
sumber
Orang yang pensiun tahun ini memulai karier mereka sebelum C dibuat. Aman untuk mengatakan Anda mungkin mengganti bahasa pemrograman sekali atau dua kali dalam karier Anda. Anda tidak ingin bekerja untuk majikan yang tidak mengerti itu.
Saat Anda baru, beralih konteks antara dua bahasa jauh lebih sulit, jadi Anda akan lebih produktif jika Anda bekerja setidaknya 4-8 jam dalam satu bahasa sebelum beralih. Nantinya Anda akan dapat beralih secara instan tanpa kehilangan produktivitas. Dengan kata lain, menggunakan dua bahasa pada akhirnya akan menjadi kekuatan alih-alih memperlambat Anda.
sumber
Ada sisi positif dan negatifnya.
Inilah sisi baiknya ...
Seperti yang disebutkan orang lain, bisa belajar yang baru dan bekerja dengan banyak bahasa dan alat pemrograman hampir penting untuk memiliki karir yang panjang dalam pemrograman. Banyak hal berubah selama bertahun-tahun, alat / bahasa datang dan pergi. Tentu, ada beberapa orang yang konten untuk diprogram dalam COBOL mainframe yang sama yang mereka gunakan pada 1980-an tetapi ini adalah situasi yang relatif jarang. Sebagian besar programmer akhirnya mengubah alat / bahasa beberapa kali selama karir mereka. Terkadang Anda dipekerjakan karena Anda tahu beberapa teknologi yang lebih tua atau tahu semua bahasa yang digunakan perusahaan.
Kelemahannya adalah ...
Beberapa majikan akan melihat Anda sebagai "jack of all trades, master of none" dan menolak aplikasi Anda tanpa memberi Anda kesempatan. Mereka mencari ahli yang sempit di bidang tertentu, bukan hanya programmer yang baik dan berpengetahuan luas. Kadang-kadang Anda mungkin terputus oleh SDM karena Anda tidak memiliki "5 tahun pengalaman terus menerus di [X]". Anda mungkin dapat menghindari ini dengan menyesuaikan resume Anda agar sesuai dengan pekerjaan tetapi ini mungkin tidak membantu Anda dalam wawancara teknis.
Bagi saya, sisi positifnya jauh lebih baik tetapi Anda harus menyadari bahwa sebagian kecil organisasi melihatnya sebagai negatif.
sumber
Ketika Anda melakukan pengembangan PHP, apakah Anda menulis javascript atau SQL? Dalam pengembangan C # Anda masih bisa menggunakan keduanya. Tidak begitu memotong dan mengering seperti menggunakan satu bahasa pemrograman.
Jika Anda senang melakukannya, jangan khawatir. Jika Anda tidak ingin melakukan keduanya (atau keduanya) maka Anda memiliki masalah.
sumber
Mempelajari bahasa pemrograman baru akan mengajarkan Anda hal-hal tentang pemrograman yang dapat Anda terapkan pada bahasa yang sudah Anda kenal. Anda harus mempertimbangkan setidaknya bermain dengan beberapa bahasa lain, bahkan jika Anda tidak menggunakannya secara profesional, daripada hanya memiliki sedikit bahasa.
Idealnya, pendekatan yang sangat berbeda dengan yang sudah Anda kenal.
sumber
Tidak, tidak ada yang salah dengan mempelajari banyak bahasa dan cukup sering menggunakannya. Dalam kehidupan sehari-hari saya, saya dapat menjumpai Ruby, PHP, JavaScript, CoffeeScript, Python dan kadang-kadang C. Saya tahu semua bahasa ini dengan cukup baik dan berpindah dari satu bahasa ke bahasa lain hanya dengan membalik sebuah tombol di otak saya. Tentu saya kehilangan fitur dari beberapa bahasa ketika saya pergi ke yang lain tetapi Anda akan mengatasinya.
Saya mencoba untuk selalu memiliki bahasa yang saya pelajari secara mendalam dan kemudian bahasa lain sebagai "naik dan turun". Dengan cara ini Anda selalu memiliki tujuan pendidikan yang jelas dan kemudian sesuatu di cakrawala. Saat ini Ruby adalah bahasa utama saya dan saya sedang bereksperimen dengan Go. Saya mungkin tidak akan pernah mendapatkan pekerjaan sebagai pengembang Go tetapi belajar bahasa baru telah menjadikannya pengembang yang lebih baik.
Ketika saya mewawancarai pengembang, saya selalu suka melihat beberapa bahasa berbeda di resume mereka. Jika pengembang di memiliki "C / C ++" atau "PHP dan Javascript" di resume mereka, mereka terlihat jauh lebih menarik daripada seseorang yang memiliki 4 bahasa atau 5 bahasa. Pastikan Anda merasa nyaman dengan bahasa apa pun yang Anda daftarkan, semua yang ada di resume Anda adalah permainan yang adil dalam wawancara!
Singkatnya: Menggunakan banyak bahasa secara teratur adalah pertanda pengembang yang baik yang peduli akan keahlian mereka. Terus koding!
sumber
Saat melihat resume, kami biasanya mencari seseorang yang mengerti banyak bahasa. Juga, karena pengalaman seseorang meningkatkan jumlah bahasa yang mereka gunakan harus meningkat juga.
Dalam lingkungan kita, kita sering harus mengatasi masalah baru dan menarik dan kami mencari orang yang mau terjun dan memecahkan masalah itu, apakah mereka perlu belajar bahasa baru atau tidak. Masalahnya mungkin dalam kode yang berjalan di desktop Windows, server Windows, server Linux atau browser.
Mengetahui banyak bahasa adalah tanda seseorang yang memiliki sikap baik terhadap keahlian mereka. Mereka ingin selalu belajar hal-hal baru sehingga mereka lakukan. Kurangnya mengetahui sejumlah bahasa merupakan pertanda bagi saya bahwa seseorang hanya melakukan yang seminimal mungkin dan tidak tertarik untuk belajar.
sumber
Selalu menjadi masalah bagi orang untuk memprogram menggunakan lebih dari satu bahasa. Ketika orang-orang menggunakan Assembly, mereka harus bersandar pada bahasa Assembly baru setiap kali mereka mengubah arsitektur.
Ketika orang-orang di mana melakukan COBOL atau Fortran, mereka juga biasanya melakukan RPG dan / atau JCL.
Di Unix, orang akan bekerja dengan C, sed, awk, shell script dan hampir semua yang ada di wastafel dapur Unix (hampir setiap alat baris perintah di Unix adalah miliknya sendiri, DSL yang sangat spesial.)
Di DOS, orang akan memprogram dalam Turbo Pascal atau C sebagai tambahan untuk skrip batch. Kemudian ketika Windows datang, itu VB atau sesuatu seperti PowerBuilder digabungkan dengan SQL dan skrip instalasi batch.
Saat ini, secara de facto orang "bekerja" dengan lebih dari dua bahasa setiap hari (dan dengan "bekerja", maksud saya, melakukan pengodean sehari-hari atau memiliki pengetahuan kerja). Java atau C # atau VB setidaknya dicampur dengan JavaScript dan SQL. Kemudian bahasa lain ikut bermain untuk skrip batch / pekerjaan dan sejenisnya. Kemudian, untuk setiap bahasa, Anda memiliki kerangka kerja yang dengan sendirinya mengimplementasikan DSL internal, sebuah bahasa mini dalam dirinya sendiri.
Jadi, tidak hanya bermanfaat untuk bekerja dengan lebih dari satu bahasa, tetapi juga perlu. Tidak ada cara untuk membangun sistem modern dan kompleks dengan satu bahasa (dan dengan "membangun", saya tidak bermaksud hanya mengkodekan beberapa omong kosong yang dikompilasi, tetapi membangun sesuatu dengan desain yang layak.)
Heck, saya akan pergi mengambil risiko dan mengatakan bahwa saya akan mengharapkan anak-anak di perguruan tinggi menjadi mahir dalam dua atau lebih bahasa jika mereka serius berada di profesi ini.
Jadi, mengenai pertanyaan Anda:
Jadi, jawaban singkat, tidak, menggunakan atau beralih antar bahasa tidak akan memberi Anda cooties. Mengetahui lebih dari satu bahasa tidak akan membuat Anda menjadi penarik semua perdagangan, dan tidak ada cara bagi pengembang untuk menjadi ahli dengan tidak dapat menggunakan lebih dari satu bahasa.
sumber
Semakin banyak Anda harus membandingkan dengan mengacu pada bahasa utama Anda, semakin baik Anda akan memahami pengorbanan desain yang membuatnya sangat kuat atau lemah pada hal-hal tertentu dan mengambil keuntungan / mengimbangi hal-hal itu. Kuasai setidaknya satu tetapi jangan khawatir tentang menjadi banyak orang lain. Itu hanya terlihat bagus.
Lebih baik untuk bertanya bagaimana resume dengan hanya satu bahasa yang terdaftar dari pengembang "senior". Jawaban atas pertanyaan itu adalah: "Tidak terlalu tertarik dengan apa yang mereka lakukan untuk mencari nafkah."
sumber
Dua bahasa dapat membantu Anda atau tidak - itu tergantung. Itu tidak akan membahayakan Anda, itu sudah pasti. Banyak pengembang cenderung berpikir bahwa menggunakan sesuatu yang lain selain dari 'bahasa utama' adalah buang-buang waktu, tetapi saya sangat tidak setuju. Mempelajari bahasa lain (dan menggunakannya) adalah manfaat murni: memberi Anda perspektif yang berbeda tentang cara mengatasi masalah. Mungkin terjadi bahwa Anda akan mulai menggunakan salah satu bahasa untuk tugas tertentu setiap saat (seperti yang terjadi pada saya setelah saya memiliki kesempatan untuk belajar dan menggunakan Python).
sumber
Dalam situasi ini Anda tidak bertanya tentang beralih dari JAVA ke C # dan kembali sepanjang waktu, sebaliknya Anda menggunakan C # dan PHP yang sebenarnya bukan masalah besar.
Misalkan Anda ingin melakukan beberapa hal berbasis WEB di mana Anda menggunakan tumpukan WAMP (Windows / Apache / MySQL / PHP) dan C #. Anda menggunakan C # untuk menulis beberapa layanan berbasis SOAP dan kemudian menggunakan PHP untuk mengkonsumsinya.
Ini sepertinya benar-benar diterima oleh saya.
Bagaimanapun, mengetahui lebih dari satu bahasa itu baik. Semakin banyak Anda tahu, semakin baik. Perpustakaan PHP / C # / Java / Python / javascript [JQuery misalnya]. Bermanfaatlah untuk sebanyak mungkin orang.
sumber