Sizce Java veya C# öğrenmek isteyen biri programlama mantığını daha iyi oturtmak için önce c veya pascal gibi temel dillerden mi başlamalı yoksa direk java veya C# öğrenmeye başlamak mı daha mantıklı? Bu konuda fikirlerinizi alabilir miyim?

soruldu: 23 Şub '12, 06:10

faridmovsumov's gravatar image

faridmovsumov
1.1k193738
cevap kabul oranı: 16%

değiştirildi: 23 Şub '12, 11:51

%C3%B6zcanacar's gravatar image

özcanacar ♦♦
17.2k59183183


Java'yi ögrenmeden önce C ile baslamak sorun olabilir. Iki dil birbirine yazarken benziyor olabilir ama benzerlikleri burada bitiyor. C'yi ilk önce ögrenmek, sonradan nesneye yönelik programlama konseptlerini anlamanin önünde bir engel olabilir. Java isteniyorsa Java direk ögrenilmeli. Java'yi ögrenmek icin hicbir ön kosul yok. C'nin temel bir dil oldugunu düsünmüyorum. Yeni baslayanlar icin göstergec (pointer) aritmetigi bile cok akil karistirici olabilir. Bu Java gibi yüksek dillerde olmayan bir konsept. En temeli diyorsaniz o zaman Assembler'den baslamak lazim ki, CPU'nin nasil isledigi anlasilabilsin. Ama bu günümüzde bir programcinin ihtiyac duymadigi kadar alt bir seviye.

permanent link

cevaplandı: 23 Şub '12, 11:54

%C3%B6zcanacar's gravatar image

özcanacar ♦♦
17.2k59183183
cevap kabul oranı: 52%

değiştirildi: 23 Şub '12, 11:57

Hocam üniversite'de aldığımız ilk programlama dersi Java'ydı 1.sınıfın 2.dönemi dersin adı Nesneye Yönelik Programlama'ydı sınıfta hiç bir programlama dilinin yapısını bilmeyen ve algoritma tekniklerini hiç duymamış bir çok arkadaşımız vardı bunun üzerine hocanında javayı çok iyi bilmemesi eklenince bu ders tam bir facia olmuştu herkes için ve sınıfın bir kısmı geçebildi malesef..açıkçası bu ön tecrübeye göre yazmıştım üstteki yorumu aslında ileri düzey programlama dilini öğrenebilmek için en azından statik bir programlama dili iyi bir derece öğrenilmeli diye düşünüyorum..

(23 Şub '12, 12:06) matsavar matsavar's gravatar image
2

algoritma tekniklerini öğrenmek için illa C veya low level dillerde dolaşamaya gerek psuedo code yazılarak bile öğrenilebilir. Sonuçta diller arasında hep aynı syntax mevcut, ama Özcan Hocam şu noktaya güzel değinmiş "sonradan nesneye yönelik programlama konseptlerini anlamanin önünde bir engel olabilir", mesela ben bu konuda epey zorlanmıştım. Çok low level iş yapmayacaksan, derinlemesine fonksiyonel bir dilde zaman kaybetmeye gerek yok.

(23 Şub '12, 14:13) gklp gklp's gravatar image
11

Bence direk Java'dan baslayin. C ve C++ yapilari size cok zaman kaybettirebilir. C++ OOP mantiklari icin yardimci olabilir ama benzer seyleri zaten java da ogreneceksiniz.

Genelde java'ya ilk baslarken onlarca API ve nerden baslamaliyim sorulari, kitaplarin cok da ihtiyac duyulmicak API'leri bile uzun uzun anlatmasi cok kafa karistirici olabiliyor. Eger java ogrenmek istiyorsaniz en basit yol soyle olabilir :

1 - Java temelleri, dilin yapisi, yazim kurallari, donguler, if yapilari, degiskenler vb.

2 - Class yapilari : Class, Interface, Abstract Class'lar, Static Class'lar, OOP mantiklari, miras gibi gercekten nesneye yonelik programlamanin temelleri.

3 - Eger yukaridaki yapilari anladiginizi dusunuyorsaniz java'yi hangi alanda kullanmak istiyorsaniz isinize hangi API yarayacaksa ondan baslamalisiniz. Ornegin: Veritabani islemleri icin JDBC, JPA(Java persistence api) / Hibernate, desktop projeleri icin Swing Component'leri, Web projeleri icin Servlet, JSP(Java Server Pages) / JSF(Java Server Faces), EJB(Enterprise Java Beans) baslangic icin yeterli olabilir.

4 - Eger yukaridaki asamalardan gectiyseniz artik Java Framework'leriyle, isinizi kolaylastiracak kodlama teknikleriyle ve diger Java API'leriyle ilgilenmeniz mantikli olacaktir. Ornegin Spring Framework, JBoss Seam, GWT(Google Web Toolkit) vb. gibi.

Java ogrenmek uzun ve acili bir surectir. O yuzden Delphi gibi bugun baslarim yarin kucuk bir veritabani uygulamasi yazabilirim gibi kolayci dusuncelere kapilmayin. Uzun, planli ve sistemli calisarak ogrenmeye calisin, yoksa bircok kereler java sizin icin küstürücü olabilir!

permanent link

cevaplandı: 04 Mar '12, 06:45

CemIkta's gravatar image

CemIkta ♦
19.9k29125190
cevap kabul oranı: 36%

C ile baslamak sart degil ama C ogrenerek baslamak hem belli yapilarin daha derinden anlasilmasi hemde yarin baska bir dili ogrenmeyi daha kolay hale getirecektir. Dunyada bircok universitede Java direkt sifirdan ogretilen dil haline gelmis durumda ki bunun buyuk bir handikapida gozukmemekte.

Buna karsin unutulmamasi gereken nokta dillerin gelip gectigidir. Bugun cok populer olen bir dil ve framework yarin bu guncelligini korumuyor olabilir. Bu tip durumlarda yeni bir dil ogrenirken, C kazandiridigi beceri seti ve temel ile Java dan daha kisa sure harcamaniza neden olabilir.

Benim tavsiyem hangi dil ile baslarsaniz baslayin her 1-2 senede bir yeni bir dili orta duzeyde ogrenemeye calisin.

permanent link

cevaplandı: 24 Şub '12, 02:36

murat's gravatar image

murat ♦
1.9k21124
cevap kabul oranı: 17%

Ben 1. sınıfta C öğrenerek başladım fakat

özcanacar'ın söylediği gibi çok da etkisi olmuyor hatta bir daha hiç kullanmayacağın pointer ve sabit boyutlu dizileri kullanmak zor ve nesneye yönelimli mantıktan farklı mantık geliştirmeye neden oluyor. Herşeye rağmen başlangıç olarak C olur Java olur C++ ya da C# olur herhangi bir dille algoritma öğrenmek lazım algoritma öğrenmeden programlama öğrenmenin zor ve anlamsız olduğunu düşünüyorum.

permanent link

cevaplandı: 24 Şub '12, 19:21

goksel's gravatar image

goksel
82071728
cevap kabul oranı: 8%

Kesinlikle temel bir dille başlanılmalı iyi bir alt yapı oluşturulmalı bunun için başlangıç'ta C'yi öğrenmek mantıklı olur.Daha sonrasında Nesne Tabanlı Programlama öğrenmek için hemen ardından C++ öğrenilebilir OOP temelini oluşturmak için buda...Bundan sonrasında artık üzerine her dil öğrenilebilir...

permanent link

cevaplandı: 23 Şub '12, 10:52

matsavar's gravatar image

matsavar
115347
cevap kabul oranı: 25%

Ben C++ ile başlamıştım. Fakat OOP konusunda kafamda bir sürü soru işaretleri vardı. Java çalışmaya başlayınca bunların hepsi yok oldu. Java bence öğrenilmesi en kolay dillerden biri.

permanent link

cevaplandı: 27 Haz '12, 02:21

omerozkan's gravatar image

omerozkan
87581528
cevap kabul oranı: 9%

-1

Konuyla alakasız ama Java yerine Basic syntax'lı bir dil öğrenmek isteseydi yine C/C++ mı önerilecekti ? Yani Ruby veya Python öğrenmek isteyen birine ?

Java konusunda gerekli midir, Java ile birlikte kullanıldığı yerler varmıdır ki vardır. Onları araştırmak gerekir.

Örneğin Python'da yazdığımız bir kamera efekt yazılımı görüntüye filtre uygularken fazla kaynak tüketiyordu biz arka tarafta bir C yazılımı kullanarak efekti C ile uygulatıp sunumu yine Python ile yaptırtıyorduk çözüm olarak.

Yani aslında bir şekilde insan bulaşıyor programcı çokda yüksek seviyeli çalışmamalı, sadece Java bilen elemandansa hem Java hem C/C++ bilen eleman daha makuldur bence. Zaten Java programcılarının çok büyük kısmı Java'ya C++ dilinden geçmiştir zamanında.

Burada ki arkadaşlardan da bir çoğu Java'nın yanında başka teknolojilerle de ilgileniyordur sanırım. Python gibi C++ gibi.

permanent link

cevaplandı: 24 Haz '12, 12:53

mirac's gravatar image

mirac
3015
cevap kabul oranı: 0%

2

@mirac basit, sade ve yapisi iyi tasarlanmis bir dille baslamak tavsiye edilir. C / C++ baslangic icin zor diller. Meshur acik kaynak dunyasi programci ve savunucularindan Eric S. Raymond nasil hacker olunur(http://www.belgeler.org/howto/hacker-howto/hacker-howto-basics.html) adli makalesinde python'nun baslangic icin iyi bir dil oldugunu anlatir. Son zamanlarda bircok javaci python'u da kullanmaya basladi. Python bircok teknolojiler arasinda joker rolu oynamaya basladi ayni zamanda. C, Perl, Lisp gibi diller ileri duzeyde tavsiye ediliyor.

(24 Haz '12, 14:41) CemIkta ♦ CemIkta's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1,079
×42

Soruldu: 23 Şub '12, 06:10

Görüntüleme: 5,932 kez

Son güncelleme: 02 Nis, 19:02

powered by BitNami OSQA