Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Kariyerim İçin Hangi Dili ve Platformu Seçmeliyim?

Konu, 'Yazılım Geliştirme' kısmında CatRoot tarafından paylaşıldı.

  1. CatRoot

    CatRoot Yeni Üye

    Kayıt:
    2 Nisan 2011
    Mesajlar:
    12
    Beğenilen Mesajlar:
    0
    Arkadaşlar Merhaba,

    Sakarya Üni. Bilg. Prog. son sınıf öğrencisiyim. Şu sıralar ciddi bir arayış içerisine girmiş durumdayım. Tüp programcı arkadaşların da tahmin edebileceği gibi "Hangi programlama dili?" sorusu beynimi allak-bullak etmiş durumda.

    Kısa bir süre önce tüm araştırmalarım beni C/C++ üzerinde yoğunlaşmaya itti ancak ben tatmin olmuş değilim ve bu noktada özellikle programcılıkta uzmanlaşmış arkadaşlarım başta olmak üzere tüm Ceviz.Net üyelerinden yardım ve yorumlarını bekliyorum. Şöyle ki;

    - Amacım iyi bir programcı olabilmek.
    - Programlama konusunda hiç bir şey bilmeyen sıfır kilometre biri değilim. Okulda öğrettikleri kadarından biraz daha fazlasını "konsol" üzerinde yapabiliyorum :)
    - Programlamada uzman bir arkadaşım beni Windows üzerinde C/C++ native proglama husunda motive etse de C/C++ ile görsel programlama hususunda İngilizce kaynak bile bulmak çok zor. Arkadaşım bana kendisi anlatsa da ben üzerinde iki butonu bir textbox'ı falan olan bir pencerenin ne kadar çok kod yazılarak, ne kadar zor yapıldığını biliyorum. Native programlama mükemmel olsa da C/C++ çok çok güçlü olsa da ben ilk defa beynimin aşırı yorulmasına rağmen yol alamadığımı gördüm. Belki bana çok ağır geliyor olabilir ama ne dökümanım var (win32 programlama) ne de başka bir şey. Döküman olsa bile zor bir yol. Zor olması umrumda değil fakat ilerleyebilmek umrumda!
    - Bir kısım arkadaşım da C# tavsiye diyor şiddetle. C/C++ mı C# mı diye çok düşünüp C/C++ diye karar aldım bir kaç hafta önce.

    Çok uzattım sanırım. İşin özü iyi bir kariyer hedefliyorum. Yani okul bitince programcı olarak bir şirkette profesyonel manada çalışmak ve gerçekten iyi bir programcı olmak. Aslında Windows'tan da pek hoşlandığım söylenemez. Linux üzerinde şu şekilde çalış iyi de bir kariyer imkanın olur deseler ve buna gerçekten inansam Windows'u bir daha açmayabilirim de :)

    Verilecek cevaplar işe/projeye göre değişir şeklinde olabilecektir ama siz genel yoldan ve benim özel koşullarımı değerlendirerek cevap verin lütfen. Yani:

    1- Hangi Platform? (Platformdan bağımsız olsak daha iyi olur, Linux olursa iyi olur ama reel olalım Windows'ta elbette olur. Şuan Windows üzerinde çalışıyorum.)
    2- Hangi Dil?
    3- Bu Dili Nasıl Çalışmalıyım?
    4- Konsol bir işe yaramaz. Görsel Programlama yapabilmeliyim. Bunu C/C++ ile yapabilirsem ne mutlu bana bu konunun uzmanlarından ayrıca yorum rica ediyorum.
    5- İstediğiniz gibi yorum yapın bu kadar uzun yazdığım için de ayrıca fırça atabilirsiniz :)

    Teşekkürler...
     
    Son düzenleme yönetici tarafından yapıldı: 2 Nisan 2011
  2. cemozden

    cemozden Daimi Üye

    Kayıt:
    19 Ağustos 2009
    Mesajlar:
    728
    Beğenilen Mesajlar:
    0
    Meslek:
    Bilgisayar Mühendisi
    Şehir:
    Macaristan
    Herkes profesyonel olmak, iyi bir maaş ve iyi bir şirkette çalışmak ister. C++ ile görsel programlamaya dair bir kaynak bulamamanız ilginç. C# veya Java'daki Swing/SWT apileri ile daha kolay görsel programlama yapıldığı doğrudur. Eğer görsel programlama ile uğraşıcaksan C# veya java derim. (vb.net'de olabilir) hangi dil sorusu yanlış bu forumda 1000 kişi hangi dil diye sordu hiçbiri doğru bir cevap almadı. Herkes kendi kullandığı dili tavsiye eder. Bu soruyu forumlarda değil siz kendiniz bulacaksanız.

    Dili seçtikten sonra seçtiğiniz dilin temel özelliklerini öğrenin. (Değişken,Döngü,Dizi vs.)
    Konsol bir işe yaramaz yanlış. Konsolun kendine ait bir kullanımı vardır görsel programlama ile karşılaştırmanız işin diğer bir ilginç yanı.
     
  3. James De Souza

    James De Souza Cave Quid Optes

    Kayıt:
    19 Şubat 2008
    Mesajlar:
    2,135
    Beğenilen Mesajlar:
    0
    Meslek:
    Off
    Şehir:
    İzmir
    C#

    NOT: Chip üyesi değilim(!)
     
  4. ersintarhan

    ersintarhan Üye

    Kayıt:
    7 Haziran 2009
    Mesajlar:
    32
    Beğenilen Mesajlar:
    0
    Meslek:
    Yazılım
    Şehir:
    Kayseri
    Önce basitten başla : C#.
    C# ile uygulamaların yapısını biraz öğren. Event based , OOP , DAL , ORM dünyasında biraz gezinti yap. ASP.NET i kesinlikle ihmal etme.
    Bi süre sonra C# ı öğrendiğini anladığında bi taraftan uygulama geliştirirken bi taraftan da boş vakitlerinde Java ile münasebetlerde bulun. Swing , AWT , servlet , JSP , JSF bunları zamanla incele.
    Sonra işine hangisi yarıyorsa o yolda devam et.
    Asla bir platforma bağlı kalma. Sürekli araştır. Meslegin dezavantajı budur her zaman yeni teknolojiler, yeni versiyonlar , yeni bakış açıları çıkabilir. Kısaca durmak yok.
    Daima incele, öğren , çalış, geliştir. Hayatın bu döngü içerisine girecek istemesende.
    C++ öğrenmenin üst seviye program geliştirmede sana çok bir artısı olacağını düşünmüyorum.
    .NET framework bir yazılımcının işini inanılmaz derecede kolaylaştırıyor.
    Linux a devlet yatırım yapıcak. Bir çok kamu kurumu linux kullanmaya başlayacağı söylenio o durumda kurumsal tarafta JAVA ağır basıyor.
    Ama platform bağımsızlığını göz önünde bulunduruyorsan C# tan da korkma Mono artık ciddi bir platform oldu.
    Kısaca yol haritan belli:
    önce programcılığı öğren, sonra kullanacağın dilini sen seçersin.
     
  5. CatRoot

    CatRoot Yeni Üye

    Kayıt:
    2 Nisan 2011
    Mesajlar:
    12
    Beğenilen Mesajlar:
    0

    C++ ile görsel programlama hususunda gerçekçi ve işe yarar kaynak sıkıntısı olduğu hususunda ısrarcıyım. Konsol işe yaramazdan kastım ise C/C++ elimde beş-on tane kaynak var ama tamamı verdiği örnekleri konsol üzerinden veriyor. Ben döngüleri, göstergeleri, fonksiyonları, makroları vs. biliyorum. Günümüzde hangi program var ki dos ekranında olsun. Anlatmaya çalıştığım buydu. Ben bir programlama dilinin temel özelliklerini biliyorum ama bu bir program yazmamı sağlamıyor. Konsol ile karşılaştırma yapmıyorum ama durum böyle umarım kendimi anlatabilmişimdir.

    Şöyle düşünün bisiklet kullanmak gibi. Her bisiklet kullanan beni anlayacaktır. Hani ilk öğrenmeye çalıştığınızda üzerinde dururken zorlanır, ilk sağa sola dönüşünüzde dengeniz bozulup düşersiniz. Sonra öğrendiğinizde artık isteseniz de kolay kolay düşemez, ben bu hareketi yaptığımda nasıl düşüyormuşum dersiniz. Aynı bunun gibi.

    Benim bisikletim var, nasıl kullanılması gerektiğini de biliyorum. Pedalı çevirmeyi, bunun sayesinde bir zincir ile tekerleğin döndüğünü biliyorum. Dengede duramıyorum :(


    C# konusunda çok hevesliydim, hala da hevesliyim. Yorumunuza da tamamen katılıyor çok teşekkür ediyorum fakat "iyi programcı" bir kaç arkadaşım beni programcılığın özünü kavrayabilmek, iyi bir programcı olabilmek için tabir yerindeyse armut piş ağzıma düş yöntemlerden (burada c# ve benzeri dillere atıf yapıyor) uzak durmam gerektiği hususunda motive etmiş ve nasıl olduysa ben de bu yola baş koymuşum (C/C++) Biri sağlam bir itse hemen C# tarafına geçeceğim yani...
     
  6. ersintarhan

    ersintarhan Üye

    Kayıt:
    7 Haziran 2009
    Mesajlar:
    32
    Beğenilen Mesajlar:
    0
    Meslek:
    Yazılım
    Şehir:
    Kayseri
    1) Programcılığın özü die bişey varsa o da dilden bağımsız olarak öğrenilecek bir şeydir.
    2) Amacın ağırlıklı veritabanı ve GUI yazılımlar yapmak istiyorsan C++ bu noktada senin işini zorlaştırabilir. Kolayı varken neden zoru ile uğraşıcaksın. Neden C# .net kullanan birinin 10 günde yaptığı işi sen C++ win32 ile 13 günde yapacaksın? Mantıklı geliyormu sana?
    3) Hiç bir dilde armut piş ağzıma düş olayı yoktur. Bahsedilen sanırım framework'tür. .net yazılımcının işini kolaylaştırmak için hazır bulunan librarylere atıfta bulunan varsa. Açsın C# ı o library leri kendileri sil baştan yazsın. Sonuçta mevcut olanlar c# ile yazıldı.
    4) Eğer iyi bir yazılımcı olmak istiyorsan bunu asla tek başına yapamazsın. Bir ekibe üye olmalısın. Yazılım sektöründe ekip çok önemlidir
    5) Artık kendime DRY (Dont repeat yourself) tarzı işlerimi kolaylaştıracak yeni bir framework arayışına girmişken siz yeni başlayanların neden hala programcılığın özünü kavramak adına amacınızdan uzak ufuklarda gezersiniz anlamışta değilim.
    6) Konu dilin iyiliği kötülüğü karşılaştırılması değil ama yeni başlayan birine a) kaynak , b) kullanım kolaylığı , c) yaygınlık , d) anlaşılabilirlik , e) performans kriterleri bazında duayen yazılımcıların önerdiği yegane platform .net yegane dilde C# tır. Ama sen neyi, nasıl kimin diliyle yazmak istersen onu tercih edersin.
     
  7. Furkan Onka Uğur

    Furkan Onka Uğur Moderatör Yetkili Kişi

    Kayıt:
    12 Eylül 2008
    Mesajlar:
    3,689
    Beğenilen Mesajlar:
    43
    Şehir:
    Ankara
    Programcılık, mühendislik işidir. Bu yüzden "armut piş, ağzıma düş" mantığının herhangi bir sakıncası yok:). Bir otomobil frenleme sistemi tasarlarken F=mxa formülünün ispatını da yapmaya çalıştığınızı düşünün...

    "İyi bir programcı olabilmek" havada kalan bir söylem. Şu şekillerden birine çevrilse ayakları yere basardı: İyi bir sistem programcısı olmak, iyi bir otomasyon programcısı olmak, iyi bir oyun programcısı olmak, iyi bir mikrodenetleyici programcısı olmak...

    Gözlemlediğim kadarıyla ülkemizde programcıya ihtiyaç duyan sektör bilgisayarı, otomasyon yapacak, otomatik makine olarak değerlendiriyor. Belki de bu yüzden C#, VB, Delphi gibi diller ve araçlar ülkemizde, dünyanın geri kalanından çok daha popüler. Bu şartlar göz önüne alındığında ne programcıların ne de sektörün hatalı olduğu söylenebilir.

    Önce sektörün hangi dalında çalışmak istediğinize karar vermelisiniz. Verilen karar, hangi dil, hangi platfom, hangi araç, hangi teknoloji vs. tüm soruların cevabı olacak; şayet aklın yolu bir.

    Dil olarak brainf!ck tavsiye ederim:D
     
  8. CatRoot

    CatRoot Yeni Üye

    Kayıt:
    2 Nisan 2011
    Mesajlar:
    12
    Beğenilen Mesajlar:
    0
    Doğru söze ne denir? Yorumunuz için çok teşekkür ederim. Belki de benim en büyük problemim bir ekip içerisinde olmamak. Profesyonel bakış açısını yakalayamamak. Dedikleriniz benim için çok önemli.




    Yine bu da aynı sorun belkide. İş dünyasına henüz bu anlamda girmediğimden hangi dalda olmam gerektiği hususunda da net bir çözümüm yok. Eski çalıştığım iş yerinde Digital Signage yazılımımız vardı. Kurduğumuz programda bir video ekranı, rss haberlerin veya manuel duyuralın yer aldığı alan, alt yazı alanları tarih ve saati gösteren alanlar vs. vardı. Bu programa videolar yazılar haberler vs. Web arayüzden gönderiliyordu (asp.net) bilgiler mssqlde tutuluyordu. O günlerden heves ettim programcılığa. Yine bu tarz bir programlama yapmak isterdim :)
     
  9. wingless

    wingless Aktif Üye

    Kayıt:
    28 Mart 2011
    Mesajlar:
    412
    Beğenilen Mesajlar:
    0
    "Seçmek"ten kastın nedir? Tek bir dil ve platform/kütüphane öğrenip hayatının geri kalanında sadece onu kullanacağını düşünüyorsan büyük ihtimalle yanılıyorsun.

    Konsol niye işe yaramasın? Programları dış görünüşüyle değerlendirdiğin belli oluyor. Halbuki genelde işin zor kısmı programın business logic kısmını oluşturmaktır. Bunu oluşturduktan sonra konsol arayüzü de yazılabilir, görsel bir arayüz de. Hatta komut satırı arayüzünü kullanan görsel bir arayüz bile yazılabilir, hiç zor değil.

    C ve Java gayet basit, sade, öğrenmesi kolay dillerdir. Bunları kafadan öğren mesela. Sonra Python öğren, C# öğren, hatta Lisp ve Haskell'a bile merak salabilirsin. Öğrendiğin her bir dil ve programlama paradigmasının sana ne kadar çok şey kattığını ancak öğrenince anlayabilirsin.

    Bundan sonra çeşitli platformlar hakkında bilgi toplayıp hangi dil ve platformu kullanacağını kendin karar verebilirsin.

    "Bu Dili Nasıl Çalışmalıyım?"
    Hakkını vererek :)

    "C/C++ ile görsel programlama hususunda İngilizce kaynak bile bulmak çok zor." demişsin. "Görsel programlama" diye ararsan tabi bulamazsın. Ama belirli görsel arayüz kütüphanelerini (Windows API, Qt, GTK+, .NET, wxWidgets, ...) öğreten tonla kitap var.
     
  10. CatRoot

    CatRoot Yeni Üye

    Kayıt:
    2 Nisan 2011
    Mesajlar:
    12
    Beğenilen Mesajlar:
    0
    Windows API oldukça karmaşık geldi bana nedense. Bir ara da Qt'a bayağı merak saldım hatta hala Qt ile C++ programlama yapıyorum da sanırım ben sorunumu buldum :utangac:

    Bu forumda genelde böyle azarlayıcı bir üslup mu var? Yoksa ben mi çok anormal şeyler soruyorum? Ya da "Öğreneceksen bu iş böyle biz kızarız mızarız ama iyi insanlarız yardımcı oluyoruz şunun şurasında mı diyorsunuz? :)
     
  11. Furkan Onka Uğur

    Furkan Onka Uğur Moderatör Yetkili Kişi

    Kayıt:
    12 Eylül 2008
    Mesajlar:
    3,689
    Beğenilen Mesajlar:
    43
    Şehir:
    Ankara
    WinApi başlangıçta karmaşık gelebilir fakat zaman ilerledikçe ve MSDN kütüphanesi gezildikçe kolaylaşacaktır. Windows üzerinde şu ya da bu şekilde ihtiyaç duyacaksınız nede olsa. En basitinden Windows'ta yazdığınız programın tek tuşla simge durumuna geçmesini veya ekranda belirmesini istiyorsunuz. Bu durumda GetAsyncKeyState, CallNextHook, SetWindowsHook, KeyboardProc, UnhookWindowsHook vs. apilerine ihtiyaç duyacaksınız.

    Forumda genellikle azarlayıcı bir üslup yok, sayılı birkaç kişinin dışında. Fakat forumun %99,9'u oluşturan kısım iyi kısımdır:D
     
  12. çaðrý_aksu

    çaðrý_aksu Üye

    Kayıt:
    3 Haziran 2010
    Mesajlar:
    248
    Beğenilen Mesajlar:
    0
    Meslek:
    bende bilmiyorum...
    Şehir:
    ist.
    bence, xx dilinde 3 takla 5 parende attıran herkezin iyi bir kariyeri olur:)
     
    Son düzenleme yönetici tarafından yapıldı: 2 Nisan 2011
  13. CatRoot

    CatRoot Yeni Üye

    Kayıt:
    2 Nisan 2011
    Mesajlar:
    12
    Beğenilen Mesajlar:
    0
    Hepinize yorumlarınızdan ötürü ayrı ayrı teşekkür ederim. Bu akşam kütüphaneme güzel bilgiler aktardığımı düşünüyorum :)
     
  14. wingless

    wingless Aktif Üye

    Kayıt:
    28 Mart 2011
    Mesajlar:
    412
    Beğenilen Mesajlar:
    0
    Kendi cevabım için konuşuyorum; kızmakla veya azarlamakla ilgisi yok. Tam tersi, sorduğun soru programlama öğrenmek isteyenler için önemli ve benim de mümkün olduğunca cevap vermeye çalıştığım bir soru. Bazen fazla didaktik ve ciddi bir üslupla yazınca kızıyormuşum veya tersliyormuşum gibi anlaşılabiliyor. Alınmanı veya soru sormaktan çekinmeni kesinlikle istemem. Konuyla ilgili başka soruların varsa onları da elimden geldiğince cevaplamaya çalışırım :)
     
  15. CatRoot

    CatRoot Yeni Üye

    Kayıt:
    2 Nisan 2011
    Mesajlar:
    12
    Beğenilen Mesajlar:
    0

    Teşekkür ederim. Bende sorular o kadar çok ki inanın sormaya bile yoruluyorum bazen ki, karşımdaki neylesin :) Bu günlük bana verdiğiniz cevapların bir kısım noktalara temas etmemi sağladığını düşünüyorum. Çok sorup ilk günümden kimseyi sıkmak istemem :)

    Şuan için bir yol belirleyip bir an önce o yoldan sıkı şekilde yürümem gerekiyor sanırım. C/C++'ı teorik anlamda biliyorum. En az 3 kaynaktan baştan sona ders gibi çalıştım. Bir takım ufak tefek uygulamalarım var. Python'a da çok yabancı değilim. Java ise çok uzak olduğum ayrıntılarını pek bilmediğim bir dil. Bu durumda önemli olan yolu tespit edip o yolda güzelce ve anlayarak yürüyebilmekse C#'ı tercih edip bir an önce işe koyulmalıyım gibi. Hatta öyle! Bir yandan da arttırdığım vakitlerimde C, Python ve Java gibi dillerle de haşır-neşir olmalıyım belli ki. Böyle bağlayalım mı?
     
  16. bortecine09

    bortecine09 Üye

    Kayıt:
    8 Nisan 2010
    Mesajlar:
    30
    Beğenilen Mesajlar:
    0
    Meslek:
    Web Developer
    Şehir:
    LOCALHOST
    Sana tavsiyem bir dili tamamen öğrenmeden başka dillere atlama. Yeni başlıyor olsam C# seçerdim. c# la işin bittikten sonra asp.net, silverlight, wcf, mvc windows platfotmunda devam et, öğrenme aşamasında farklı dillere atlayıp yarım yarım öğrenme kesinlikle. Öncelikle bir dili uzmanlık derecesinde öğren. Üzerine birşeyler daha koyup yeni teknolojileri öğrenirsin. C# bu konuda en avantajlı dil.
     
  17. ersintarhan

    ersintarhan Üye

    Kayıt:
    7 Haziran 2009
    Mesajlar:
    32
    Beğenilen Mesajlar:
    0
    Meslek:
    Yazılım
    Şehir:
    Kayseri
    Neden böyle bir tavsiyede bulundun merak ettim.
    Aynı anda birden fazla yazılım dili öğrenilemez mi?
    Hem tamamen öğrenmeden kasıt nedir ki?
     
  18. Furkan Onka Uğur

    Furkan Onka Uğur Moderatör Yetkili Kişi

    Kayıt:
    12 Eylül 2008
    Mesajlar:
    3,689
    Beğenilen Mesajlar:
    43
    Şehir:
    Ankara
    Aynı anda birden çok programlama dili öğrenilebilir, teorik olarak sorun yok fakat aynı dilin farklı bir lehçesini kullanırken bile zorlanacağınızı göz önüne alın. Örneğin VB6'da geçerli olan aşağıdaki kod parçası, VB6'nın Linux portu diyebileceğimiz Gambas'ta geçerli değildir, hata oluşturur.
    Kod:
    Dim strDeneme As String
    strDeneme = "bu bir denemedir"
    Mid$(strDeneme, 1, 2) = "şu"
    MsgBox strDeneme 'çıktı: şu bir denemedir
    
    C# ile C/C++ arasında dağlar kadar fark olduğunu rahatlıkla söyleyebiliriz. Yazım kuralları benzemesine rağmen bu dillerdeki programlama mantığı kesinlikle farklıdır. Aynı durum Java için de geçerli.
     
  19. @BIGMAN

    @BIGMAN Üye

    Kayıt:
    27 Kasım 2010
    Mesajlar:
    239
    Beğenilen Mesajlar:
    0
    Ortaya bir karışık diyorsun, güzel.:super:



    Öyle yaparsa eğer; Java'da hello world c++ de printf C# de Console.WriteLine ve perl de echo dan başka bir şey bilmez.Bilse dahi bildikleri ileriye gitmez.Böyle yapıp da profesyonel olan kaç kişi var üniversite araştırma konusu.
     
  20. emreeren

    emreeren Üye

    Kayıt:
    9 Ocak 2011
    Mesajlar:
    168
    Beğenilen Mesajlar:
    7
    Meslek:
    Bilgisayar Programcısı
    Şehir:
    Ankara
    Kobi'lere iş yapacaksan veya Kobi'lere iş yapan yazılım şirketlerinde çalışacaksan C#
    Büyük şirketlere ERP işleri yapan veya kamu sektörüne iş yapan yazılımevlerinde çalışacaksan Java
    Savunma sanayi gibi yazılım ve donanım işleri iç içe olan kurumlarda çalışacaksan C++
    Yapay zeka konusuna dalacaksan LISP
    Web işine gireceksen PHP

    gibi diller daha ön plana çıkar.

    Tabiiki Mark Zuckerberg PHP değil de C++ bilseydi herhalde facebook'u kodlarken biraz zorlanırdı ama insan bir kere programcılığın ve üzerinde çalışacağı ortamın mantığını kaptığında yeni bir dil öğrenmek kolaydır. Ben programcılığa başladığımda genelde c++, vb ve delphi kullanılırdı. PHP, Java, C# gibi diller sonradan yaygınlaştı. Kimbilir belki de sen kariyerinin doruklarındayken daha adını bile duymadığımız bir dille atıyorum augmented reality programları yazıyor olacaksın. Bence şimdi usta arkadaşların da önerilerini dikkate alarak sana yakın gelen bir dille başla. Gerisi gelir.