Saya bertanya-tanya apakah ada sumber daya yang kurang bias yang memberikan gambaran umum yang baik dan spesifik dari bahasa pemrograman dan tujuan yang dimaksudkan. Saya ingin belajar bahasa baru, tetapi mengunjungi situs dari setiap bahasa tidak berfungsi. Masing-masing berbicara tentang betapa hebatnya itu tanpa banyak menyebutkan kelemahan atau tujuan spesifiknya .
Ruby adalah bahasa pemrograman open source yang dinamis dengan fokus pada kesederhanaan dan produktivitas.
Python adalah bahasa pemrograman yang memungkinkan Anda bekerja lebih cepat dan mengintegrasikan sistem Anda lebih efektif.
Setelah menjadi pengembang PHP selama bertahun-tahun, Vic Cherubini merangkum kesulitan saya dengan baik:
Saya mengenal PHP dengan baik, memiliki kerangka kerja sendiri, dan dapat bekerja dengan cepat untuk menjalankan dan menjalankan sesuatu.
Saya diprogram seperti ini sepanjang revolusi MVC. Saya mendapat pekerjaan yang lebih baik dan lebih baik (baca: pembayaran yang lebih baik, judul yang lebih baik) sebagai pengembang PHP, tetapi sepanjang waktu menyadari bahwa kode yang saya tulis pada waktu saya sendiri sangat bagus, dan kode yang saya kerjakan di tempat kerja sangat buruk. Seperti, lebih buruk dari yang mengerikan. Mengerikan. Tingkat perdagangan OS buruk. Memiliki proyek sampingan membuat saya tetap waras, karena kode yang saya gunakan di tempat kerja membuat saya sengsara.
Inilah sebabnya saya pensiun dari PHP untuk proyek sampingan dan usaha pemrograman baru. Saya dihabiskan dengan PHP. Lelah, jika Anda mau. Saya telah mencapai tingkat di mana saya pikir saya berada di puncak dengan itu sebagai bahasa dan jika saya tidak pindah ke bahasa baru segera, saya akan selesai dengan pemrograman dan saya tidak ingin itu.
Bahasa yang saya lihat meliputi JavaScript (untuk node.js), Ruby, Python, & Erlang. Saya bahkan sudah memikirkan Scala atau C ++.
Masalahnya adalah mencari tahu mana yang dibangun untuk menangani kebutuhan saya yang terbaik.
Jadi ke mana saya bisa melewatkan hype dan mendapatkan informasi nyata tentang kematangan platform, ukuran komunitas, dan kekuatan & kelemahan bahasa itu. Jika saya tahu ini maka memilih bahasa untuk melanjutkan pengembangan web saya harus mudah.
Memperbarui
Saya hanya tidak ingin mendapatkan 4 bulan di jalan dengan beberapa bahasa dan merasa itu menyebalkan karena setiap utas memiliki 4MB overhead, atau koneksi konkuren maksimum adalah 999, tidak ada paket untuk melakukan fitur "X", atau dukungan adalah sedang dihapus untuk cabang bahasa baru.
sumber
Jawaban:
Saya tidak akan memposting ini sebagai jawaban, tetapi Xeoncross memintaku, jadi di sini kita mulai:
(Sidenote: jika seseorang dapat memperbaiki masalah penurunan harga dalam contoh kode kecil, saya akan menghargainya.)
Diposting oleh Alex Martelli di comp.lang.python : Apa yang lebih baik tentang Ruby daripada Python? pada 18 Agustus 2003, 17:50
sumber
Semoga berhasil
Tak satu pun dari contoh deskripsi yang diberikan yang objektif atau dapat diuji. Mereka semua hype dan opini.
Cobalah
Ambil contoh proyek kecil dari jenis yang mungkin Anda lakukan, dan cobalah dengan semua bahasa yang menarik bagi Anda. Lalu poskan ulasan objektif Anda, dan kita semua akan tahu.
sumber
Saya pikir bagian dari masalahnya adalah bahwa siapa pun yang cukup tahu untuk berkomentar secara berarti tentang satu atau lebih bahasa akan memiliki bias. Dalam hampir 4 dekade pemrograman saya telah bekerja dalam lebih banyak bahasa daripada yang bisa saya hitung. Saya dapat memberi Anda pendapat (beberapa dari mereka berkencan) tentang beberapa bahasa tersebut, tetapi tidak satu pun dari pendapat itu yang tidak bias.
Saya mengambil pendekatan menggunakan bahasa yang tepat untuk pekerjaan itu. Anda secara khusus bertanya tentang pengembangan web , tapi itu masih kategori yang cukup luas - seperti mengatakan Anda tertarik pada fotografi. Mikro? Astro? dll. Meskipun saya setuju bahwa PHP bukan bahasa yang memenuhi emosi untuk bekerja, bagi banyak pelanggan itu bahasa yang tepat berdasarkan sejumlah faktor, tidak sedikit di antaranya adalah kemampuan jangka panjang untuk menemukan programmer untuk memperbaiki situs setelah Anda pergi dan / atau tertabrak bus.
Jadi mungkin Anda harus melihat tipe-tipe pelanggan yang tertarik pada proyek yang cocok untuk sesuatu yang berbeda, dan kemudian berusaha membuat diri Anda menarik bagi mereka.
sumber
Python
Tujuan paling universal dan umum dari semuanya, tetapi juga dalam hal pemrograman web menyediakan pilihan produk yang lebih luas. Memiliki antarmuka WSGI terstandarisasi menjamin interoperabilitas yang sangat baik antara kerangka dan server. Beberapa produk web Python yang terkenal:
Rubi
Ruby juga merupakan bahasa yang cukup universal. Namun sejauh ini produk yang paling terkenal adalah Ruby on Rails. Desainnya telah menjadi inspirasi bagi banyak orang (termasuk Django yang disebutkan di atas).
JavaScript
Saat ini satu-satunya pilihan sisi server untuk JS adalah node.js. Ini sangat mirip dengan Tornado dan Twisted (yang terinspirasi). Namun, masih kekurangan kerangka kerja yang lengkap seperti Django atau RoR yang dibangun di atasnya.
Scala
Menjadi bahasa fungsional itu bagus untuk komputasi paralel masif, sejauh pemrograman web tujuan umum ada Lift - kerangka kerja web yang terinspirasi oleh RoR, digunakan misalnya oleh FourSquare.
sumber
Dalam proyek web terbaru saya, saya mulai dengan PHP karena saya telah menggunakannya untuk proyek web sebelumnya (mulai cepat), tetapi saya memiliki banyak masalah dengan bahasa misalnya dukungan UTF-8 yang buruk dan pengetikan dinamis. Saya juga memiliki beberapa latar belakang Java dan saya sangat menikmati pengetikan statis dan alat refactoring yang baik. Java juga memiliki kinerja yang baik dibandingkan dengan PHP. Tapi saya juga suka ekspresi pemrograman fungsional.
Kerangka Kerja Scala dan Mainkan
Dengan pengalaman di atas, saya sangat menikmati bahasa pemrograman Scala, diketik secara statis, memiliki dukungan untuk pemrograman berorientasi objek dan fungsional dan memiliki kinerja yang baik dibandingkan dengan bahasa lain yang digunakan untuk pengembangan web. Tapi saya tidak suka kerangka kerja web untuk Java dan servlets, dan saya menemukan Play Framework yang memiliki dukungan untuk Scala dan Java dan memiliki siklus pengembangan yang sangat cepat - simpan file dan perbarui halaman web Anda. Saya sangat puas dengan Kerangka Kerja Scala & Play bulan lalu. Tapi dukungan Scala di Play Framework belum terlalu matang, dan tidak juga dukungan tooling.
Singkatnya saya merekomendasikan Scala sebagai bahasa pemrograman dan Play Framework sebagai kerangka kerja web.
sumber
Sebenarnya, Anda mungkin melihat tiga jenis sumber daya:
Kedua sumber daya itu akan menjadi bias.
Anda mungkin memiliki peluang untuk menemukan perbandingan netral, tetapi sangat sulit untuk menulisnya. Secara pribadi, saya tidak akan pernah bisa menulis perbandingan antara bahasa nyata dan PHP tanpa mengkritik PHP sepanjang waktu. Dan saya cukup yakin saya tidak sendirian karena tidak bisa bersikap netral.
Jika Anda ingin memiliki tinjauan umum berbagai bahasa, Anda harus mempelajarinya sendiri , dan banyak membaca . Dengan belajar, maksud saya mengetahui dasar-dasar bahasa, tetapi bisa memiliki pendapat Anda sendiri . Itu bukan karena Anda telah membaca manual Ruby daripada Anda dapat menjelaskan apa yang baik dan apa yang buruk dalam bahasa ini.
Ini berarti Anda harus menghabiskan waktu (berbulan-bulan, atau bahkan bertahun-tahun) untuk berlatih. Atau, Anda bisa membaca banyak. Tetapi cobalah membaca hal-hal yang bertentangan . Jika seseorang menulis bahwa ia membenci PHP dan PHP adalah salah satu bahasa terburuk yang pernah ada, terutama dibandingkan dengan bahasa asli seperti Ruby, C # atau Java, cobalah juga untuk menemukan seseorang yang mengatakan bahwa PHP itu hebat, dan itu lebih mudah digunakan daripada C #, jauh lebih cepat daripada Java, dan banyak ... (Saya benar-benar tidak tahu apa) daripada Ruby.
Ingat satu hal: jika Anda sudah tahu bahasa dengan baik, Anda akan sangat mengkritik di awal ketika belajar bahasa lain , percaya bahwa bahasa yang sudah Anda kenal lebih baik dan lebih mudah digunakan. Ini seperti pengguna Linux yang membenci Windows, dan pengguna Windows yang membenci Linux: pada kenyataannya, tidak ada OS yang lebih baik; hanya saja pengguna Linux tidak tahu cara menggunakan Windows, dan sebaliknya. Hanya setelah Anda memperoleh pengalaman yang cukup di keduanya maka Anda akan dapat memutuskan dengan benar mana yang lebih baik untuk Anda.
Hal terakhir, yang sering dilupakan: juga sangat penting untuk dapat mengevaluasi "lingkungan" suatu bahasa:
sumber
Ya, karena salah satu kriteria Anda sepertinya "menyenangkan untuk dikerjakan", saya pikir Anda ingin mencari info yang bias. Jika penulis sesuatu bersemangat tentang bahasa pilihan mereka, ada peluang yang cukup bagus mereka akan memberikan penilaian yang bias.
Mungkin Anda harus mendekatinya dari arah lain. Karena Anda terdengar seperti Anda sedang berbicara tentang membuat karier keluar dari itu daripada hobi, mungkin Anda harus mensurvei beberapa iklan pekerjaan, menemukan beberapa teknologi / bahasa yang menarik dan melihat ke dalamnya.
Adapun bahasa memiliki tujuan khusus, banyak bahasa tidak memilikinya. Sebagian besar bahasa yang Anda daftarkan cukup umum. Misalnya, bahasa Ruby adalah bahasa tujuan yang cukup umum yang cocok untuk banyak tugas. Setelah Anda menambahkan kerangka kerja ke dalamnya, seperti Rails , itu memang memiliki tujuan yang cukup spesifik.
sumber
Ini bukan apa yang Anda minta, tetapi jika saya sedang mencari sesuatu untuk mengeluarkan saya dari kebiasaan profesional pengembangan web, sementara masih memanfaatkan pengalaman dan kontak itu, saya akan menulis aplikasi Android dan iPhone. Mampu menjual aplikasi yang melengkapi situs web klien dapat benar-benar membuat Anda menonjol dalam mengembangkan internet yang semakin diakses melalui perangkat seluler.
sumber
Apakah Anda benar-benar mencapai batas PHP, atau hanya batas PHP seperti yang Anda tahu?
Sudahkah Anda melihat ke Drupal ? Ini adalah CMS berbasis PHP dan kerangka kerja pemrograman yang sangat mendorong standar dan praktik pengkodean yang baik. (Setelah harus bekerja dengan OSCommerce di pekerjaan sebelumnya, saya merasakan penderitaan Anda di sana.) Meskipun berbasis PHP, cukup berbeda bahwa sering kali cara "benar" untuk melakukan sesuatu dalam PHP murni bukanlah cara yang tepat untuk melakukannya di Drupal, dan Anda akan memiliki kurva belajar yang baik untuk naik untuk benar-benar menguasainya. Namun, ini dapat mengubah perspektif Anda tentang kemampuan PHP sebagai bahasa dan pengembangan web secara keseluruhan.
sumber