Şimdi Ara

Java/C++ neler Yapılamaz?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
4 Misafir - 4 Masaüstü
5 sn
17
Cevap
0
Favori
1.685
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Ben elektrik-elektronik mühendisliği okuyan birisiyim. Daha hazırlıkta olduğum-ve önümde en az 5 yıl olduğu- için yazılımda öğrenmeye kararlıyım. İnternette uzun uzun araştırdım ve benim işime bu iki dil yarar. Fakat bu dilleri araştırdığımda herkes, bu dillerin ne yapabilecekleri hakkında sormuş ve herkes de "her şeyi yapabilirsin" diye cevap vermiş. Benim sorum açık. Ben bu iki dilde deleri yapamam? Bu farklara bakarak bu iki dilden birini seçip, öğrenmeye başlayacağım.

    Not: Bu iki yazılımdan birini seçmemdeki amaç; bilgisayarda, kendi ihtiyaçlarım doğrultusunda program yazmak(tabii ki de bir anda değil) veya olurda bir robot veya herhangi bir proje yaparsam/geliştirirsem, bunun yazılım kısmınıda yapmak veya o kısımda yer almak da isterim.

    Bu arada bu iki dilden hangisini öğrenirsem diğerini daha çabuk öğrenmiş olurum? İnternette okuduğum kadarıyla, C++ öğrenin java'yı daha kolay öğrenebilir ama java bilen, c++'sı çok zor öğrenir şeklinde. Bu ne kadar doğru?







  • Yazılım dillerini ayıran ana özellik basit küçük farklı yazım kuralları onun dışında herhan gibir yazılım dilini kavrarsan diğerini kısa sürede çözersin.
    Önemli olan algoritma çözebilme yeteneği !
    Ne için yazılım yapacaksınız ? Hangi plartform ? Ne yapmayı planlıyorsunuz ? Yardımcı olayım.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Bence C ile başla hem robotik alanında da geniş bir kullanım alanı var hemde diğer dillere geçmen gerekirse hiç zorlanmazsın. Java ile low-level diye tabir ettiğimiz işlemleri gerçekleştiremezsin bu da gömülü sistem programlama yapamayacağın anlamına geliyor. Son sorun için ise C++ da iyi olan biri tüm dilleri rahatlıkla öğrenebilir fakat javaya aşina olan bir kişinin de pek zorlanacağını zannetmiyorum herhangi bir dile geçerken.
  • C iyi bir temel ama zordur(denir).

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Öncelikle cevabınız için teşekkür ederim.
    @ardamavi
    Şu anda hazırlık öğrencisiyim ve kendimi yazılımda da geliştirmeyi amaçlıyorum. Kendim için yazılım yapacağım. Mesela bilgisayarda bir programa ihtiyacım oldu(basit veya karmaşık) ve bu yoksa ben yazayım(tabii bu kadar basit değildir diye umuyorum). Veya okulda veya garajımda :)(hep büyük şirketler garajdan çıkmıştır. belki olabilir ) geliştirdiğim herhangi bir şeyin yazılımını yapabilmeyi istiyorum. Platform 2. planda. Ama bilgisayara yazılım yapmak daha mantıklı geliyor bana.(gücü vs olsun.)

    @bersgurs
    İnternette C'yi de araştırdım. Okuduğum tüm yazılarda c++ 'ın c'nin bir üst versiyonu olduğu ve c'de ne yapılabiliyorsa aynısı c++ 'da da yapılabileceği yazıyordu. Ben de C öğrenene kadar c++ 'a bakmayı daha uygun buldum. Yanlış mıyım yoksa?
  • Algoritma mantığı oturursa sıkıntı çekmezsiniz.
    Birde en önemlisi hangi plartforma yazacaksınız ?
    Windows ?
    Mac ?
    Mobil : iOS ? Android ?

    Önerim : C ya da C++ iyi bir temel oluşturur.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • C ailesi olayin en temeli. C/C++ ile baslamak programlamayi daha iyi ogretir, cunku "low-level" denilen islere daha hakim olursun.
    C#/Java gibi high-level diller bunlarin syntaxina benzerler, zaten ikisi de birbirine syntax olarak cok benzer, fakat low-level isleri kendileri arka planda hallederler. Java ile WebServis yazmak 5 dakika surerken C ile bunu yapmak ciddi bir projedir.
    Fakat Java ile ya da .Net uzerinde C# ile isletim sistemi yazamazsin. Anti-virus yazamasin. Bunlar zaten farkli katmanlarin kurulu olmasini beklerler calisabilmek icin.
    Ya da basit kendini kopyalayan bir virus yazamazsin. Yazarsin ama 2mb olur executable dosyasi. Ayni virusu Assembly ile yazsan 3kb.
    Bu dediklerim isin pratikteki yani tabi. Java JVM uzerinde calisir, JVM in oldugu her platformda cogu seyi yaparsin. C++ ile de neredeyse her seyi yapabilirsin. Teorideki kismi bunlar.
    Ama kimse tutup da C++ ile web sitesi yazmaz. C# ile Unix platformunda calisan uygulama yazarsin Mono ile, ama kimse yazmaz.
    Yapilmasi planlanan her isin bir best practise'i vardir, o neyse, o uygulanir. Zamandan ve efordan kazanmak icin.

    < Bu ileti tablet sürüm kullanılarak atıldı >




  • Bilgisyarlara yazmayı planladığım için platform seçmem şart mı? Şu an elimin altında mac bilgisayar var. Fakat en kötü 600tl'ye bilgisayaımı windows yapabilirim. Veya linux. Bu arada son bir şey soracağım. C++ ile hangi platformlara program yazabilirim? İnternette bakmama rağmen bulamadım.
  • Senin işin elektronik, yani donanıma yakın düşük seviye işlemlerle uğraşacaksın. Öyleyse bakman gereken dil C' den başkası değil. Bilgisayar tarafıyla haberleşmek için de bir script dili kullanırsın, tercihen python.
  • kaskas123 kullanıcısına yanıt
    Bende Mac kullanıyorum dün Ubuntu kurdum.
    Sistem programlama yapacaksanız mac in yanına Ubuntu kurun 30 GB bir alan işinizi görür isterseniz size atacağım linkten Ubuntu kurabilirsiniz. C öğrenin derim bu konuda. Mac kalsın Mac silinmez bir kere meraktan sildim. Birdaha hayatta silmem.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Mantık geçitlerini seviyorsan fpga için verilog ve entegre devreler için pic programlama konusularını araştırsana. Yazılım ile ilgileniyorsan java çok daha kolay olur ama c++ kadar hızlı olamaz.

    Javada yapılamayan şey, c++ kadar hızlı çalıştıramamaktır.

    c++ da yapılamayan şey ise java kadar hızlı yazamamaktır.

    Elektronik devre tasarımı simülasyonunun yazılımını yapacaksın diyelim, javayla çok daha kolay olur ama devre tasarımı milyar tane transistör içerdiğinde c++ daha akıcı bir görüntü sunar. Tabiki değişik apiler yardımıyla dillerdeki eksiklikleri giderebilirsin. Mesela ben C# kullanıyorum, yavaş kaldığı yerlerde ekran kartından yardım alabilmek için opencl apisini kullanıyorum. Bunun için de c++ ile derlediğim dll dosyasına ihtiyaç duyuyorum. Benzer şekilde başka bir c++ dll dosyasını da javada ekran kartını kullanmak için projeye ekliyorum ama derleme işlemini javanın özel derleyicisine konsoldan yaptırmam gerekiyor. Bence en güzeli C#, bayağı zaman kazandırıyor.




  • Ben Java öğrendim önce, okulda C/C++ anlattılar, pek zorlandığımı söyleyemem kendi adıma.
  • elektronik mühendisliği için önce C ile başlamanı daha sonra ise vhdl kodlamayı öğrenmeni tavsiye ederim.
  • Tüm cevaplayanlara öncelikle teşekkür ederim.
    Ama benim kafan karıştı. Neden C öğreneyim? Okuduklarım yazıların birinde(vikipedia olması gerek) "her C programı aynı zamanda bir C++ programıdır, ancak her C++ programı bir C programı değildir." diye bir ifade geçiyor. Şimdi her c programı aynı zamanda bir c++ ise c++ bilen biri, c bilen biri gibi program kodlayamaz mı? Hatta aynı programı, aynı şekilde ve boyutta kodlayamaz mı? Öyleyse c öğrenmem, c++ öğrenmemden neden önemli? Veya ben mi yanlış düşünüyorum?
  • quote:

    Orijinalden alıntı: kaskas123

    Tüm cevaplayanlara öncelikle teşekkür ederim.
    Ama benim kafan karıştı. Neden C öğreneyim? Okuduklarım yazıların birinde(vikipedia olması gerek) "her C programı aynı zamanda bir C++ programıdır, ancak her C++ programı bir C programı değildir." diye bir ifade geçiyor. Şimdi her c programı aynı zamanda bir c++ ise c++ bilen biri, c bilen biri gibi program kodlayamaz mı? Hatta aynı programı, aynı şekilde ve boyutta kodlayamaz mı? Öyleyse c öğrenmem, c++ öğrenmemden neden önemli? Veya ben mi yanlış düşünüyorum?

    Ekran kartına işlem yaptırabildiğin OpenCL APIsi, kernel olarak C99 dilinde(ama kısıtlamalar ile (mesela fonksiyon pointer yasak)) yazılmış bir stringi kullanır ve IL olarak karta gönderir, kart da bunu kendi diline çevirerek optimize eder. Atıyorum fonksiyon parametreleri pass by value şeklindedir ve sadece c++ bilen biri 1-2 dakika duraksayabilir kod yazmadan önce. Class yok struct var sadece.



    < Bu mesaj bu kişi tarafından değiştirildi Tugrul_512bit -- 31 Mart 2016; 3:10:53 >




  • c++ ile istediğin herşeyi yapabilirsin. arayüz yapmak içinde qt framework kullanırsın sana çok büyük kolaylık sağlar.
  • quote:

    Orijinalden alıntı: kaskas123

    Tüm cevaplayanlara öncelikle teşekkür ederim.
    Ama benim kafan karıştı. Neden C öğreneyim? Okuduklarım yazıların birinde(vikipedia olması gerek) "her C programı aynı zamanda bir C++ programıdır, ancak her C++ programı bir C programı değildir." diye bir ifade geçiyor. Şimdi her c programı aynı zamanda bir c++ ise c++ bilen biri, c bilen biri gibi program kodlayamaz mı? Hatta aynı programı, aynı şekilde ve boyutta kodlayamaz mı? Öyleyse c öğrenmem, c++ öğrenmemden neden önemli? Veya ben mi yanlış düşünüyorum?

    Cevap basit. Sen yazılımcı değilsin, c++ gibi çok kompleks bir dili öğrenmeye harcayacağın zamanı daha önemli işlere ayırman gerek. C++ ın "C alt kümesi" elektronik projelerin %99 u için yeterlidir. Ayrıca c++, mikrodenetleyici gibi basit donanımlar için kaynak kod olmaya uygun bir dil değildir. En basitten en karmaşık yapıdaki bütün işlemciler için C derleyicisi bulunur ama c++ derleyicisi her zaman bulunmaz, olanlar da her özelliğini desteklemez.

    Ha yok ben illede c++ kasacam diyorsan hayatının en az 10 yılını bu işe ayırman gerektiği konusunda uyarayım. C' de bu süre ortalama 2 yıl.




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.