PHP sonra ne öğrenin mı?

16 Cevap

Ben şu anda oldukça PHP deneyimli duyuyorum ve bunu birden fazla uygulama yazdı. PHP ile birlikte HTML, CSS, MySQL ve Javascript biliyorum. Programlamada bir sonraki adım nedir?

(Perl, C, Python gibi dilleri olduğunu biliyorum, ama onlar tabanlı Web Tabanlı Masaüstü, vb tam olarak bilmiyorum)

Updated

Benim Gol Ben profesyonel bir program yapmak mümkün duyuyorum yeterli programlama öğrenmek için vardır. Bana kadar açık ben 15 yaşındayım ve bir kaç karmaşık uygulamalar programlanmış olduğunu edelim. Ben nesne yönelimli programlama ile ele alınmıştır, ancak zar zor çerçeveler ile çalışan dokundu. Ben gelecek için gitmeli bir şey mi?

16 Cevap

Programlama hayır "sonraki adım" var; PHP, size söz, diğer teknolojiler gibi, biz sorunları çözmek için kullanabileceğiniz araçlardır.

Yapabileceğiniz tek şey, yararlı benzer sorunlar diğer teknolojileri kullanarak çözülür nasıl bir göz var: Eğer web uygulama geliştirme ile ilgilenen gibi görünüyor, çok benzer araçları Java / JSP, Ruby / Rails, C # / ASP.NET, ve benzeri var vb. Düzenlemeden sonra, bu Java ve. NET gibi platformlar kuruluşlar gidiyoruz yol gibi görünüyor gibi, almak için en mantıklı yol gibi görünüyor, ve beceri programlama işlerin çok kullanılan yerlerde.

Biraz zaman bu yollar aşağı gidiyor geçirmiş olması, kurumsal özelliklerinden faydalanmak büyük sistemlerde ilginizi çekebilir. JSF, Struts, ya Futher gibi şeyler - EJB'ler web teknolojileri kullanmak ile J2EE, ancak daha kurumsal bir şekilde.

Ben de böyle bir söz bu gibi araçlar daha fazla kullanıcı ile daha büyük uygulamalarda nasıl kullanıldığını görmek için bazı açık kaynak kodlu web uygulamaları bir göz öneririm. Kim belki de katılmak ve bir yaygın olarak kullanılan projede yardımcı olabilir, bilir!

Ben size söyleyebilirim hepsi benim kendi deneyim. Ben 12 yıl civarında önce UNIX HTML / PHP / MySQL / Oracle öğrendim ve kullanım kolaylığı ve (CGI ve C ile karşılaştırıldığında) çok kolay bir araya siteleri atmak yolu sevdim. Ancak, yaklaşık 6 yıl önce ben isteksizce "karanlık tarafı" taşındı ve benim iş için, Windows programlama öğrenmek zorunda kaldı. 'Klasik ASP' ve VB öğrenme korkunç bir süre sonra özellikle ASP.NET ve C # ile yeni gelişmekte olan. NET teknolojisi, girdi. Ve ben really sevindim ben yaptım ben.

C # (veya Java) gibi bir "doğru" Kesinlikle yazdığınız cepten dil öğrenme programlama beceri geliştirmeye yardımcı ve size daha disiplinli programcı yapacaktır. Eğer. NET framework öğrenebilirsiniz eğer siz de istihdam olarak ufkunuzu genişletmek gerekir. Uygulama geliştirme vb içine Sen bakışını genişletmek olacak ve zenginleştirilmiş ve süreç içinde ödüllendirilecek - Ayrıca Web ötesine taşıyabilirsiniz birçok programlama becerileri öğreneceksiniz.

Eğer web sitelerini yapmaya devam etmek istiyorsanız, ben size aynı teknolojileri ile kalmak öneririz, ama onlar hakkında daha fazla bilgi edinmek istiyorum.

Eğer gerçekten PHP / HTML / CSS / JavaScript / MySQL yapıyor oldum ne tür iş belirtilmemiş, o yüzden bu tür zor işaretçiler vermek bulunuyor.

PHP tarafında, örneğin [Zend Framework] veya [CakePHP] gibi, içine bir göz olabilir iyi çerçeveler vardır.

Ayrıca [Joomla] gibi veya [Drupal] bazı önceden mevcut CMS sistemleri hakkında bilgi edinmek isteyebilirsiniz. Eklentiler mevcut, sistem kendisi ve kendi eklentileri gelişmekte - İşte geçmesi için bir çok şey var. Ben hiçbir CMS-gibi özellikleri (nadir) olan bir şey inşa ediyorum sürece, ben Joomla üstüne hemen hemen her şeyi inşa etmek eğilimindedir.

Ayrıca PHP becerilerini vardır İlerlemekte. PHP ile hızlı, basit ve unmaintainable spagetti kod yazma tuzağına düşmek çok kolay. Eğer (yukarıda belirtilen çerçeveler veya CMSes bunu yapmak için nasıl hakkında bazı ipuçları sağlayabilir, ve bunu yapmak için nasıl değil) alabilirsiniz yararlı desen ve tasarım teknikleri her türlü vardır. PHP projelere tasarım desenleri uygulanarak sınıfları / nesneleri, uygun bir veritabanı soyutlama katmanları (hatta PDO veya ADO), gibi şeyler içine bakmak olabilir. Standart kütüphaneleri muhtemelen kullanmış değil serin işlevsellik taşırlar ve PEAR kütüphaneleri daha içerir.

JavaScript tarafta, başlamak için [JQuery] gibi çerçeveler içine bakmak istiyorum, ve belki daha sonra [jQuery UI] gibi bunun üstüne inşa edilmiştir [eklentileri], bazılarıdır. Repertuarına bazı AJAX eklemek.

Eğer başka bir dil öğrenme içine atlamak önce bir öneri olarak, tasarım desenleri bakarak geçirdim biraz zaman (dil nötr) meyve önemli bir miktar taşıyacak.

http://en.wikipedia.org/wiki/Design_pattern_(computer_science)

I learned and developed a lot with Java after PHP and a little Perl, and am quite happy I did that. I realized that in Java circles, there's much more thought and emphasis on building proper software architectures. Here, I learned a lot on software quality, (agile) development processes, architecture.

Ben bu dünyadan kendimi geliyor, ve ben ihtisasını Java saçmalık kod bir sürü gördüm - bu dinamik dil toplulukları sağlam uygulamalar sunma yeteneğine sahip değildir ya da genel olarak bilgi eksikliği gibi değil. Yine de, ben orada çok şey öğrendim.

Ben de arada yakut / raylar ve groovy / grails ile bazı küçük projeler yaptım ve Python / Django ile biraz oynadı - ama geri şu anda Java tabanlı yaklaşımlara gidiyor - ama kilometre değişebilir demektir.

Sonunda bu gereksinimleri ve personel bağlı olan her yerde en iyi seçeneği tercih edebilmek için, birden fazla dil ve çerçeveler bilmek güzel, ve ben sadece tavsiye dinamik, web merkezli dil ve çerçeveler aynı zamanda daha genel olanları öğrenmek istiyorum . Perl gibi şeyler (o gerçekten nedeniyle thers güç ve OO özellikleri zemin kaybediyor olmasına rağmen), Python ve Ruby size en sistemlerde kolayca kullanılabilir jenerik dilleri var olan, kabuk komut dosyası, Web ve bağımsız GUI gelişmeleri için kullanılan olabilir Hem - da çok iyi yönü!

Ve birçok ilginç çerçeveler - - Ben hala düz C, düzeni / lisp ve skalasına sahiptir benim "öğrenmesi" listesinde.

Programlama diline ilgi odağı getirebilir şey geliştirin. Topluluk yardımcı olabilir Bir kütüphane ya da sınıf dosyası.

Ayrıca eğer hissediyorum zor zorlanmak güncel sürecine göre işler daha basit yapabilirsiniz şey düşünebilirsiniz.

Bu gerçekten başarmak ne, örneğin, sıfırdan karmaşık bir e-ticaret çözümü yapabilir ne bağlıdır?

Yani size sınıflar ve nesneler php nasıl biliyor?

Belki süslü animasyonlar sağlayan bir javascript framework kullanmak öğrenebilirler.

Benim tavsiyem oluşturmak istiyorsanız, ve de kullanarak ideal ilgi olacağını bir proje seçin ve nereye götürür görmektir.

Bence "programlama sonraki adım" Bir ipucu bazı büyük okullarda bazı CS programı müfredat bakarak bulunamadı. Ben olsaydım, ben sadece benim görünümü genişletmek için, web programlama tamamen farklı bir şey almak istiyorum.

Eğer 15 iseniz, ben C # öğrenme önermek ve Tetris gibi basit bir oyunu yazmak için denemek istiyorum.

Neden PHP ile devam?

Onun içinde bir uzman ve bir guru haline. PHP oldukça geniş bir konudur ve gelişme birkaç yıl içinde ben olursa olsun ben yaptım kaç büyük veya küçük projeler, tüm bu en yönlerini kullanmak ve bilmek alamadım. PHP kodlama farklı yaklaşımlar da vardır, günümüzde çerçeveler ortaya çıktı ve kendileri tarafından bir konudur.

Ve son şey, muhtemelen popülerliği nedeniyle, PHP yaşayan bir dildir ve geliştikçe devam ediyor. Yeni şeyler onunla çözmek için günlük üsleri, modüller, yeni sürümleri, yeni uygulamalar, yeni çerçeveler, yeni sorunların görünür.

Senin düşünce doğrudur: Bir programcı farklı dil öğrenmek için önemlidir. Ruby on Rails ve Ruby öneririm.

Oldukça büyük bir anlaşma onu sadece kodu anlamak için hafta harcamadan başka bir geliştirici için kodunuzu geçmek için güçlü olmak - Rails'in büyük avantajı kolay şeyleri doğru şekilde yapmak için yapar.

Dilde bir sürü mevcut eğilim, yani MVC ortamı uygulamak, 'Raylar üzerinde' koymaktır. Bu. NET ve diğerleri, Javascript için yapıldı.

Eğer bazı programlama temellerini öğrenmek istiyorsanız Alternatif, Structure and Interpretation of Computer Programs olsun ve gerçekten aklını darbe!

Bu çok öznel, ama burada gider.

  • Bu web geliştirme için Java gibi bir çok kurumsal dili, bilmek incitmez.
  • Spring MVC gibi, bunun için bir çerçeve öğrenmek çok kullanışlı olacaktır. Bahar da bilerek değer AOP ve IOC gibi kavramlar vardır.
  • DAO / ORM için Hibernate ekleme yararlı olacaktır.
  • Ruby on Rails başka bir web geliştirme parça edilir (Ruby Rails çerçeve dilidir).
  • Bazen bir programlama kariyeri boyunca, bir betik dili bilmek gerekir; Python veya Perl.
  • Maven veya Ant, Subversion veya CVS gibi araçları öğrenmek ve gibi, emin bir IDE nasıl kullanılacağını bilmek yapmak Eclipse.
  • Eğer Linux bilmiyorsanız, o profesyonelce oynamak için eğlenceli ve yararlı olabilir. Try Ubuntu.
  • From a theory level, learn about Data Structures and Design Patterns.

Data Structures genellikle bilgisayar bilimi ikinci üniversite ders ve neredeyse kesinlikle kodlama yardımcı olacaktır. Kendinize bu öğretmek için örnekler oluşturmak Eğer aynı anda yeni bir teori, yeni bir dil ve bilgi hem bilgi sahibi, böylece, henüz bilmediğimiz bir dil kullanın.

Malzeme öğrenme için online başvurular vardır. Sen bağlantılı listeler, ağaçlar, ve grafikler hakkında öğrenme olmalıdır; , sıralama, arama, ve O (n) analizi.

Görünümünde bir işe yöneticinin noktadan itibaren, veri yapıları göstermiştir bilgisi olmadan kimseye röportaj olmaz.

Her durumda, Project Euler da size yardımcı olabilir; bu yeni dil öğrenmek ve yeni sorunları çözmeye yardımcı olmak için görevleri var yardımcı olmak için tasarlanmış programlama görevlerinin bir grup.

Ben önermek tek şey paradigmaları progamming, yazılım mimarisi, OOP ve tasarım desenleri öğrenmeye başlar.

Hatta, Bildiğiniz araçları ile sopa sadece programlamak ne kadar yükseltme şeyleri çözümünde yeni ve daha iyi yollarını öğrenmek, diğerleri ve diğer büyük çerçeveler ne yaptığını görebilirsiniz.

Eğer PHP nesne yönelimli işlevini kullanarak oldum yana, ben bir sonraki Java öneririm. PHP'nin OO işlevselliği büyük ölçüde, Java esinlenerek örneğin her ikisi de gerçek bir yapı / anahtar kelime ile "arayüz odaklı" programlama resmiyet var: "arayüz".

Her halükarda, diğer sunucu tarafı dili olarak Java olması benim için en akıcı eserleri duyuyorum ki. Sizin kilometre değişebilir.

Ben size ufkunuzu genişletmek için, büyük bir değişim için denemek gerektiğini düşünüyorum. Learn Python, olsun pygame ve örneğin tetris için, bir oyun programına, ama bir şey olabilir. Eğer başka bir açıdan görmeye yardımcı olacak, çünkü ben kesinlikle rağmen, non-web-tabanlı bir şey yapıyor tavsiye ederim.

Önce kendi ölümler daha herhangi bir sınırlama yok biliyorum ;)

Eğlenceli yazma programları varsa, internet taramak ve 'ben bu getirebileceği adam' ya da düşünmek uygulamalar için bakmak 'güzel bir araç, ama bazı başka fikirleri var'.

Sonra sadece bu uygulamalar yazılı olduğu dilleri bakmak ve (örneğin, stackoverflow.com on) kendiniz böyle bir uygulama yaratma zorluğu hakkında bazı hızlı araştırma yapmak.

Eğer gerçekten kurmak istiyorsanız bazı projeyi bulduk ve bu uygulama yazma için en mantıklı dili seçtiniz zaman: bu dili öğrenmeye başlayın.

Bu, belirli bir dil için bakmak sadece bir proje için bakmak ve bunu kurmak için her zaman önemli değildir.