lostyazilim

Hangi programlama diline başlamalıyım?

61 Mesajlar 9.855 Okunma
lstbozum
wmaraci reklam

Ertug Ertug WM Aracı Kullanıcı
  • Üyelik 21.09.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek Yazılım geliştiricisi
  • Konum Ankara
  • Ad Soyad E** K**
  • Mesajlar 361
  • Beğeniler 51 / 43
  • Ticaret 0, (%0)
C++ Java' dan daha iyi bir seçenek olmaz mı?
 

 

[freenodeIRC]
PHP = #laravelTurkiye
C++ = #qtTurkiye
Python = #pythonium
wmaraci
reklam

tasarhane tasarhane şayet³ bir¹ kalp² varsa° Kullanıcı
  • Üyelik 06.08.2011
  • Yaş/Cinsiyet 43 / E
  • Meslek Karışık
  • Konum Antalya
  • Ad Soyad ** **
  • Mesajlar 71
  • Beğeniler 11 / 15
  • Ticaret 0, (%0)

KodlaPaylas adlı üyeden alıntı

Phyton konsol yazdığınızda (windows ailesinde) power shell üzerinde çalışır. Bunu söylememin sebebi, bir programın execute etmesi için mutlak bir alt yapı olması gerekir. Fakat java'nın windows üzerinde çalışırken windows'a dair bir araç kullanmasına gerek yok herhangi bir yerde çalışması için sadece kendi ortamı yeterlidir farklı bir ortama ihtiyaç duymaz.

Tanım yapılırken zaten bunun üzerine yapılıyor. Java çalışacağı zaman gidip işletim sistemi bağımlı bir kütüphane yada alt yapı aramaz kendi yaşam döngüsü içinde yaşar.

Siz aynı executable jar'ı istediğiniz ortama attığınızda problem yaratmaksızın çalışır. JRE bir eklenti olarak görmeyiniz, java'nın yaşam döngüsü onun içinde oluşur. Bir JVM instance'ı için tek şart nokta budur.

Uygun zamanda daha detaylı yazarım. Ama ortak nokta tanımdır. Tanım olmazsa zaten mutlak bir bilgiden bahsedemeyiz.


O zaman javanın platform bağımsızlığı programcı için oluyor öyle değil mi?
Javada yazdığın kodu java eklentisi yüklü her sistemde değiştirmeden çalıştırabiliriz.

Ancak python veya c++ gibi bir dil kullanırsak başka bir platformda uyumlu çalışması için ekstra kodmu yazmak gerekecek?
Ya da kodumuzu modifiyemi etmemiz lazım gelecek?

Benim takıldığım husus kullanıcıya ekstra bir şey yükletme zorunluluğu (eklenti, çalıştırıcı, açıcı, kurucu vs) . Ekstra yükleterek diğerleride her sistemde çalışıyorsa çokta bir fark olmuyor son kullanıcı açısından.

En önemlisi kişi kuracağı, kullanacağı dosyayı çift tıklasın kursun daha da bir şey istemesin ondan. Bunu kurarız ama şunuda kurman lazım demesin.
Ertug

kişi bu mesajı beğendi.

tasarhane.com

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)
tasarhane,

tanımın belirlediği çap oldukça geniştir. Platform bağımsız demek, birşeyin kurulup, kurulmaması değildir. Platform bağımsız tanımına tekrar bakmanı rica ederim.

"Software that can run on any hardware platform (PC, Mac, SunSparc, etc.) or software platform (Linux, MacOS, Unix, Windows, etc.). In general, programs written in Java language can be executed on practically every platform."

Hangi programlama dili ile yazdığınız program software/hardware her ortamında değiştirmeden çalışabilir. Bu beceride olan tek dil javadır. İşin teknik tarafına fazla girmek istemiyorum code reverse'leri vs. Ama basitçe anlatayım, Java'nın kendisi ortam bağımsızdır sizin yazdığınız kod her platformde byte code - > machine code arasında bir liste içinde tutulur ve bu kod dönüşümü zaten ortma bağımsızlığı sağlıyor.

Sizin takıldığınız kısım win,linux için ayrı jre'ler indirmen ve kurman gerekmesi. Bu JVM'i ortam bağımlı yapar bununda sebebi, byte kodun işletim sistemlerindeki listede farklı farklı yerlerde tutulmasından kaynaklanmaktadır. Fakat java'yı ortam bağımlı yapmaz ;)

Biraz teknik oldu ama dilimin döndüğünce anlattım.
tasarhane Ertug

kişi bu mesajı beğendi.

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)

Ertug Ertug WM Aracı Kullanıcı
  • Üyelik 21.09.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek Yazılım geliştiricisi
  • Konum Ankara
  • Ad Soyad E** K**
  • Mesajlar 361
  • Beğeniler 51 / 43
  • Ticaret 0, (%0)
Benim anlayamadığım tek şey programın arayüzü. Bazı yazılımcılar çok şık programlar yapabiliyorken bazıları bu konuda sadece renk değiştirme, buttona resim yerleştirme işlemleriyle sınırlı kalıyor. Ben görünüme de önem veriyorum. Sadece Java için sormuyorum, şık tasarımlar yazılımda nasıl yapılıyor? Hazır skinler dışında.
 

 

[freenodeIRC]
PHP = #laravelTurkiye
C++ = #qtTurkiye
Python = #pythonium
wmaraci
wmaraci

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)
Web tarafında grafik tasrımcılar, ve bu grafiklere takla attıran(istemci taraflı dilleri : java script gibi) uzmanlar mevcut. Her ikiside ayrı uzmanlık alanıdır. Herkes herşeyi mükemmel yapamaz. Bu insanın doğasınada pek uymuyor zaten ;) Kişi bir alanda uzman yada usta olabilir.

Bende dizaynı severim lakin sağ soldan hazır bulup, düzenlerim. Yaratıcı tarafım pek yok zaten front-end tarafımda o kadar iyi değil. Ama işimi her halukarda görürüm ;)
 

 

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)

Ertug Ertug WM Aracı Kullanıcı
  • Üyelik 21.09.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek Yazılım geliştiricisi
  • Konum Ankara
  • Ad Soyad E** K**
  • Mesajlar 361
  • Beğeniler 51 / 43
  • Ticaret 0, (%0)

KodlaPaylas adlı üyeden alıntı

Web tarafında grafik tasrımcılar, ve bu grafiklere takla attıran(istemci taraflı dilleri : java script gibi) uzmanlar mevcut. Her ikiside ayrı uzmanlık alanıdır. Herkes herşeyi mükemmel yapamaz. Bu insanın doğasınada pek uymuyor zaten ;) Kişi bir alanda uzman yada usta olabilir.

Bende dizaynı severim lakin sağ soldan hazır bulup, düzenlerim. Yaratıcı tarafım pek yok zaten front-end tarafımda o kadar iyi değil. Ama işimi her halukarda görürüm ;)

Webteki olayı biliyorum da yazılım olayına bir türlü anlam veremedim. Örnek vermek gerekirse Avast' ın 2014 sürümü gerçekten şık olmuş. Neyse, orasını sonra düşünürüm de Java' ya mı başlasam C++ a mı, karar veremedim. Bu arada Java ile basit bir program yapıp Ubuntu' da çalıştırmayı denedim. Çalışmadı. Konsolden java -jar dosyaadı.jar şeklinde çalıştırmayı da denedim. Çalışmadı. Her platformda çalışma olayını ben tam anlayamadım. C++ da her platformda çalışabilirmiş. Bunun doğruluğunu düşünerek kararsız kaldım. Acaba bu konuda bilgisi olan bizleri de aydınlatabilir mi?
 

 

[freenodeIRC]
PHP = #laravelTurkiye
C++ = #qtTurkiye
Python = #pythonium

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)
Ubuntu(Linux) için JRE indirip kurmanız, çalıştırmak için yeterlidir. Lakin yazdığınız program executable olması gerekli direkt olarak o jar'ı çalıştırmak istiyorsanız.

C++ ile QT kütüphanesini kullanarak css giydirebiliyorsunuz arayüz için lakin C++ ile geliştirme yapmak uzun süre alır. Pekte makul bir yaklaşım olmaz development için.

Bir ürün geliştirirken önünüze metrikler almalısınız.

1 - Zaman
2 - Verimlilik
3 - Community (Destek ve kaynak)

Bu kriterler alır başını gider.

Linux kullanmadım şuana kadar. Windows ve Macos kullandım son 5-6 aydırda MacOs bağımlısı oldum. Windows için neyse, MacOs içinde aynı kurulumlar mevcut. Linux içinde aynıdır.

C++ üzerinde neredeyse okul projeleri hariç geliştirme yapmadığım için basit bir google araştırması ile aşağıdaki link'e ulaştım.

http://stackoverflow.com/questions/14721818/c-is-all-of-std-cross-platform

Link'teki cevapta C++' ın bazı versiyonlarında standartlar oldukça oturmuş(derleyicilerinde) fakat hepsi için bu geçerli değil. Çünkü eklediğiniz namespace sanırım bu sınıf ve kütüphaneler farklılıklar gösteriyor buda bu bağımsızlığı öldürüyor.

Java yüksek seviye dildir. Geliştirmesi C++'A göre oldukça hızlıdır ek olarak birde C++ ' ta kod yığını arttıkça varolan yazılım dizaynına hakimiyetide zorlaştırır. Mesela inheritance(kalıtım)'ı birden çok sınıftan alması mükemmel bir özelliktir lakin aynı zamandada bir dezavantajdır. Çünkü ambiguity(belirsizlik) yaratır. Şöyle düşünün.

A,B ve C sınıfınız var ve bu sınıflar hepsinde m,a,b gibi metodlarınız bulunuyor.

A sınıfı B ve C sınıfından inheritance(kalıtım)'ı alabilir ve metodlarını koşturabilir. Hangi sınıfta hangi metodu koşturması kısmında iyi bir dizayn yapmalısınız, iyi sınıf ve metod isimleri kullanmalısınız ve kalıtımı alan sınıflardan hangisini koşturduğunu iyi bilmelisiniz. Ve unutmayın ki projeye yarın başka biri dahil olduğundada bunu anlaması gerekmektedir.

Bu büyük bir avantajdır lakin iyi dizayn yoksa dezavantaja dönüşen bir özelliktir. Programlama dillerine dair çok şey yazılır dostum ama tavsiyem yüksek seviye dillere haşır neşir olmanız çünkü geliştirilmesi hızlıdır ve dolu kütüphaneleri mevcuttur.

Java yad C#'ı öneririm ama bu seçimdede Java bana göre her halukarda ağır basar ;)
Ertug

kişi bu mesajı beğendi.

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)

Ertug Ertug WM Aracı Kullanıcı
  • Üyelik 21.09.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek Yazılım geliştiricisi
  • Konum Ankara
  • Ad Soyad E** K**
  • Mesajlar 361
  • Beğeniler 51 / 43
  • Ticaret 0, (%0)
İlginiz için çok teşekkür ederim. Gerçekten faydalı bir konu oldu bu. Olmaya da drvam eder umarım. Oracle' da da kendimi geliştirmek istiyorum Java ile beraber. Ama Oracle hakkında hiçbir şey bilmiyorum. Java ve Oracle baya iş getirir diyorlar. Doğru mu?

Ek Olarak: Google' da aratınca buldum:
http://stackoverflow.com/questions/10780479/use-css-and-javascript-in-java-desktop-application-program
 

 

[freenodeIRC]
PHP = #laravelTurkiye
C++ = #qtTurkiye
Python = #pythonium

harun128 harun128 WM Aracı Kullanıcı
  • Üyelik 29.10.2013
  • Yaş/Cinsiyet 29 / E
  • Meslek Web Yazılım
  • Konum İstanbul Anadolu
  • Ad Soyad H** Ç**
  • Mesajlar 139
  • Beğeniler 33 / 22
  • Ticaret 0, (%0)
PHP Balama arkadaş c# veya java.
 

 

trgy trgy Mühendis Kullanıcı
  • Üyelik 22.12.2010
  • Yaş/Cinsiyet 34 / E
  • Meslek Mühendis
  • Konum Macaristan
  • Ad Soyad T** Y**
  • Mesajlar 390
  • Beğeniler 32 / 209
  • Ticaret 16, (%100)

Ertug adlı üyeden alıntı

İlginiz için çok teşekkür ederim. Gerçekten faydalı bir konu oldu bu. Olmaya da drvam eder umarım. Oracle' da da kendimi geliştirmek istiyorum Java ile beraber. Ama Oracle hakkında hiçbir şey bilmiyorum. Java ve Oracle baya iş getirir diyorlar. Doğru mu?

Ek Olarak: Google' da aratınca buldum:
http://stackoverflow.com/questions/10780479/use-css-and-javascript-in-java-desktop-application-program


Ordan oraya atlanilmaz. Oracle zordur ilk once SQL bilmen senin acindan yararli olur. Yani A harfini ogrenmeden Ali yazmaya kalkisiyorsun. Java ve Oracle is getirir, Oracle tek basina bile is getirir ama sanildigi gibi basit degildir. Algoritma tarafinda da iyi olman gerekli.
 

 

wmaraci
Konuyu toplam 7 kişi okuyor. (0 kullanıcı ve 7 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al