1. liği dibine kadar uygulayan dir.

    kendisi derlenen bir dildir ama bu derleme işi biraz karmaşık bir süreç. yazdığınız kod na derlenmez, özel bir na derlenir. bu bayt kodu sadece ve sadece üzerinde çalıştırılabilir. yani uygulamayı çalıştırmanız için makinede java'nın yüklü olması şarttır.

    java, statik türlü bir dildir. yani, içerisinde bulunan her in türü belirlenir. bu aynı zamanda geliştirilen yazılımda kararlılığı sağlar ve derleme esnasında türler kontrol edilir (örneğin alması gereken bir fonksiyona farklı bir tür giremezsiniz).

    java 8 ile beraber fonksiyonel araçları da beraberinde getirmiştir.

    , gibi 'ler ile geliştirilmesi kolaydır.

    ***

    ilk girdi olduğu için başta temel bilgileri vermek istedim. şimdi benim mevzuma gelsin. bu girdide java ve karşılaştırması yapacağım.

    aynı zamanda bir python web geliştiricisiyim. , , , 'ıyla birkaç geliştirmişliğim oldu. ancak bazı farklı projelere girmek istediğimde aklımdaki mimariyi tasarladıktan sonra (bkz: ) uygulama (yani koda dökme) esnasına geldiğimde python'un dinamik türlülüğünün istemediğim bazı sonuçlara sebep olduğunu gördüm. özellikle 'da çok işe yarayan ve asıl amacı dökümantasyon olan güzel bir özellik olsa da olası 'ın nerede ne zaman çıkacağını kestiremiyordum.

    yanlış anlaşılmasın, python beni oldukça ilerletti. çeşitli soyut yazılım konseptlerini onunla beraber anladım ve uyguladım.

    tabi böyle bir sıkıntı çekince bir zamanlar ekmeğini yediğim java'ya geri dönüş yapmak istedim. hatırlarım, dört sene önce nesne yönelimliliği anlamak için 6 ay boyunca python'u bırakıp zaten nesne yönelimli yazmaya zorlayan java'ya kendimi vermiştim. faydası da oldu. python'da olmayan ama java'da ele alınan gibi ek konseptleri zamanla anlamaya başladım. python bu konuda eksik demiyorum. ama java, daha kodda bana soyutlamaya izin veriyordu. benim için önce yazılımda kafadaki mimari yapıyı soyutlamak önemlidir (öyle de olmalı).

    hala kafamdaki soyutlamayı bir geniş bir grafikle tasarlıyorum, evet. ama java, interface'leri, 'ları da veriyor. böylece etmem gereken class'ın tasarımını önce ya bir interface, ya bir abstract class ile tasarlıyorum, sonra class'ı yazmaya geçiyorum. bu yüzden java'da iş yapmak, bir hükümet görevlisiyle iş yapmak gibi. önce kuralları koyup sonra uygulamaya geçince uygulama daha kararlı oluyor gibi...

    bu da python ve (dört sene umursamazlık sonrası) yeni java geliştiricisi arkadaşınızın bir yazısıydı.
    #32288 skeptix | 8 yıl önce
    0programlama dili