Şimdi Ara

C ile ubuntu uygulama geliştirmek

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
20
Cevap
0
Favori
509
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
Öne Çıkar
0 oy
Sayfa: 1
Giriş
Mesaj
  • c ile ubuntu uygulaması nasıl geliştirebilirim ?(Başlangıç düzeyde c biliyorum)



    _____________________________
    egmtncakgn@gmail.com
  • uygulamadan kastın GUI ise,GTK+ var gui geliştirmeni sağlayan bir kütüphane.onun haricinde c++'ı öneririm çünkü OOP bilmeli her yazılımcı.



    < Bu mesaj bu kişi tarafından değiştirildi koccan9 -- 20 Nisan 2018; 17:30:3 >
    _____________________________
  • quote:

    Orijinalden alıntı: koccan9

    uygulamadan kastın GUI ise,GTK+ var gui geliştirmeni sağlayan bir kütüphane.onun haricinde c++'ı öneririm çünkü OOP bilmeli her yazılımcı.
    Niye oop bilmeli her yazılımcı? Yok öyle bir şey

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

    Haggard seveni ben de severim.
    2 kişilik hesâb

  • sistem programlama haricinde OOP heryeri domine etmiş durumda.örneğin web programlama,mobil programlama,oyun programlama,masaüstü programlama.

    C ve PHP gibi structured dillerin Data Abstraction özelliği zayıf ve C nin en can sıkan yanı:diyelim elinde bir struct var ve o struct'ın işine yarasın yaramasın tüm veri elemanlarını bilmek zorundasın ve bir tanesi bile değişse senin kaynak kodu değiştirmen gerekiyor yani kod bakımı da zor takibi de zor.C++ C# ile de işletim sistemi yazamıyorsun doğrudan(VTable,runtime polymorfizm gibi araçlar nedeniyle).Eğer birisi uygulama geliştirme alanında ilerlemek istiyorsa günümüzde OOP ile arasının iyi olması gerekiyor en basitinden android Facade pattern'i kullanıyor,asp.net mvc yi kullanıyor,php frameworkler mvc yi kullanıyor.

    Data Abstraction dediğimiz kavram,Gerçek hayattaki bir olayın/varlığın programlama alanında veri türleri ile temsil edilmesi demektir,ve bu veri modellemesini en iyi OOP yapabilmektedir şuanda.asıl amaç kişinin ne yapmak istediğidir eğer sistem programlama gömülü sistem kernel gibi alanlarda uzmanlaşmak istiyorsan C ve ilgili işlemcinin Assembly'sini iyi bilmek gerekiyor.Uygulama geliştirme için ise C++ C# Java gibi diller.



    < Bu mesaj bu kişi tarafından değiştirildi koccan9 -- 21 Nisan 2018; 16:27:39 >
    _____________________________




  • koccan9 kullanıcısına yanıt
    Wrong. Dunyayi kendi gordugunuzden ibaret sanmayin.

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

    Haggard seveni ben de severim.
    2 kişilik hesâb

  • Lord Nibbler kullanıcısına yanıt
    Uygulamak zorunda degil. Ama konsept olarak oo bilmeli.

    < Bu ileti mobil sürüm kullanılarak atıldı >
    _____________________________
  • Lord Nibbler kullanıcısına yanıt
    Not wrong.bence bilmediğin konulara cevap atmamalısın.en basitinden microsoftun ilanlarına bak adamların istediği dillerin arasında OOP olan diller var.eskiden ben de senin gibi OOP karşıtıydım ama farkettim ki gerçek hayattaki bir varlığı veri yapısı olarak modelleyemessen algoritmanın hiç bir faydası olmaz çünkü data structures=algorithms tıpkı niklaus wirth'in dediği gibi.



    < Bu mesaj bu kişi tarafından değiştirildi koccan9 -- 22 Nisan 2018; 18:45:29 >
    _____________________________
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
  • Mephalay M kullanıcısına yanıt
    Ne yani interface, abstraction polymorphzm kalıtım bilmeden program yazamıyor muyuz. Saçma. Bu iddalarda bulunan arkadaşlar hiç oop öğelerinden x olmasa şu kodu asla yazamadım dedi mi?



    Neyse program yazmanın birinci adımı önce bir işlevi olmalı, bir amacı olmalı. Sonra bu amacı yerine getirmek için bir gui (arayüz) gerekiyorsa qt vs bir bak. Bir de yazacağın kodu illa c ile de yazmak zorunda değilsen alternatiflere bak derim örneğin Python ile c göre biraz daha kolay kod yazarsın. Böyle çok alternatif var.

    < Bu ileti mobil sürüm kullanılarak atıldı >
    _____________________________
    Senior Yazilim Gelistirici - Netkent Universitesi Yazılım Mühendisliği Öğrencisi
  • mahoni_38 kullanıcısına yanıt
    Bak tekrar ediyorum. Konsept olarak bilmeli.

    < Bu ileti mobil sürüm kullanılarak atıldı >
    _____________________________
  • quote:

    Orijinalden alıntı: Mephalay

    Bak tekrar ediyorum. Konsept olarak bilmeli.
    O zaman şunu sorayım. Hangi deneyimine veya hangi olaya istinaden bunu diyorsunu aydınlat bizi ki bizde tamam doğru diyelim. Bir bilgi onu arka plan hikayesi olmadan hayatımızda doğru yere konumlayamıyoruz. Ben örnek vereyim. ben 2008 den beri profesyonel olarak development yaparak para kazanıyorum. Hayatımda sadece 1 tane uygulamada gerçekten soyutlamanın faydasını gördüm. Evet bu interface olmadan böyle yapılamaz dedim. Orada da bir db import uygulamacığı vardı. kaynak bambaşka sema veya db ürünleri olabilirken hedef şema sabitti. bende hedefi sabit bir interface bekleyecek şekilde yapılandırdım her kaynakta sadece dll gerekli dll değiştirerek basitleştirdim. Bunu yine oop öğeleri olmadan da çözerdim. Biraz fazla kod tekrarı olurdu ama olurdu. Bu kadar yıl boyunca gerçekten benim hayatımda OOP olmazsa olmaz hiçbir sorunu çözmedi. Öğrenecekseniz öğrenin. Hatta alternatif paradikmalara da bakın ama daha hellowordl seviyesinde birine olmazsa olmaz gibi anlatmayın ki insanlar zaman kaybetmesin.

    Dipnot: php class ve oop getirilmesi oop olmazsa olmaz yapıyorsa sorarım java 10 da lamda getirildi napalm functional development mı yapalım. Ne çapta bir app yaptığınza bağlı olarak tabi ihtiyaçlar değişir. Adamlar php 5.x ile dünyanın en büyük sosyal media uygulamasını kodladı. Olmaz diye bir şey yok. OOP çok soyut kavramlar içerir fazla teoriktir. Abstract ile Interface farkının gerçekten ihtiyaç duyarak öğrenmek yıllar alabiliyor. (ha siz yine bir ara öğrenin çünkü en kötü iş mülakatında işe yarar) Lakin app yapmanın temel adımı değildir.
    _____________________________
    Senior Yazilim Gelistirici - Netkent Universitesi Yazılım Mühendisliği Öğrencisi




  • mahoni_38 kullanıcısına yanıt
    Dediginde haklisin, sebep vermeden "bu boyle olmalidir" dersek biraz bosa konusmus oluyoruz.



    Bu konularda, genel olarak bu forumda da ego buyuk bir problem oldugu icin, ben x senedir bu isin icindeyim, y universitesini bitirdim, z sirketinde calistim ve benim dedigim en dogrusudur yaklasimini hic sevmedigim icin o detaylari paylasmiycam. Yanlis anlama seni elestirmiyorum, genel olarak tartismada appeal to authority konumuna dusup sidik yaristirmak istemiyorum.



    Benim oop bilmelidir deme sebebim su, iyi bir programci ( ki bu terime de uyuz oluyorum ) alet cantasinda programlama paradigmalarinin hepsine sahip olmali. Dekleratif nedir, imperatif nedit, oo nedir aop nedir, prosedurel nedir, functional nedir bilmeli, sartlar neyi gerektiriyorsa tekerlegi yeniden kesfetmeden en optimal cozumu sunabilmelidir. Dil ya da paradigma fanatikligi yapmak muhendislikte yersiz. Bu yuzden ben diyorum ki, oop bilinmelidir. Bil ama kullanmanin gerekli olmadigini dusunuyorsan kullanma. Diller general purpose programming language olarak farkli paradigmalari desteklet hale gelebilirler. Bu demek degil ki illa ki functional ya da oo programlama yapmak durumundayiz. Duruma bakar, karar verirsin.



    Senin ya da benim hayatimizda hic abstraction kullanmadan programalama yapabiliyor olmamiz bir sey ifade etmiyor. Tutup da , ben x kullanmadan da y yapabiliyorum o halde y şart degil dememeliyiz. Cunku zaten programlamada "şart" yok. Muhendislikte constraintler olur, kisitli kaynaklar olur. Sen de elindeki imkanlari kullanip bu kisitlamalar dahilinde optimal cozumu uretmek icin calisirsin. Sonuc olarak oop onemli bir paradigma ve profesyonel olarak bu isi yapacak herkes bilmeli. ( kullanmak zorunda degil )

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




  • Destan gibi döktürüp durmayın, sistem programlama ve legacy code harici örnek ver dedim, hala cevap yok. Functional falan diye saptırma.

    Java, C#/.Net kullandığın anda otomatikman OO içindesin, bunlarla procedural takılma imkanı yok.

    Bana bugün aktif olarak kullanılan, geliştirilen ve OO olmayan bir framework göster. Android stack, React, Meteor, Express.js, Laravel, Symfony, CI, Django... hepsi OO.

    Standard Php, Python kütüphanelerinin bile hepsi OO oldu. Dandirik türkçe tercümelere değil, aç da ingilizce dokümanlarına bak, herşey class, senin 10 yıldır kullanıyorum dediğin php extensionların hepsi deprecate oldu, güvenlik açığı olan kod yazıyorsun yıllardır farkında değilsin.

    < Bu ileti mini sürüm kullanılarak atıldı >
    _____________________________
  • quote:

    Orijinalden alıntı: Mephalay

    Dediginde haklisin, sebep vermeden "bu boyle olmalidir" dersek biraz bosa konusmus oluyoruz.



    Bu konularda, genel olarak bu forumda da ego buyuk bir problem oldugu icin, ben x senedir bu isin icindeyim, y universitesini bitirdim, z sirketinde calistim ve benim dedigim en dogrusudur yaklasimini hic sevmedigim icin o detaylari paylasmiycam. Yanlis anlama seni elestirmiyorum, genel olarak tartismada appeal to authority konumuna dusup sidik yaristirmak istemiyorum.



    Benim oop bilmelidir deme sebebim su, iyi bir programci ( ki bu terime de uyuz oluyorum ) alet cantasinda programlama paradigmalarinin hepsine sahip olmali. Dekleratif nedir, imperatif nedit, oo nedir aop nedir, prosedurel nedir, functional nedir bilmeli, sartlar neyi gerektiriyorsa tekerlegi yeniden kesfetmeden en optimal cozumu sunabilmelidir. Dil ya da paradigma fanatikligi yapmak muhendislikte yersiz. Bu yuzden ben diyorum ki, oop bilinmelidir. Bil ama kullanmanin gerekli olmadigini dusunuyorsan kullanma. Diller general purpose programming language olarak farkli paradigmalari desteklet hale gelebilirler. Bu demek degil ki illa ki functional ya da oo programlama yapmak durumundayiz. Duruma bakar, karar verirsin.



    Senin ya da benim hayatimizda hic abstraction kullanmadan programalama yapabiliyor olmamiz bir sey ifade etmiyor. Tutup da , ben x kullanmadan da y yapabiliyorum o halde y şart degil dememeliyiz. Cunku zaten programlamada "şart" yok. Muhendislikte constraintler olur, kisitli kaynaklar olur. Sen de elindeki imkanlari kullanip bu kisitlamalar dahilinde optimal cozumu uretmek icin calisirsin. Sonuc olarak oop onemli bir paradigma ve profesyonel olarak bu isi yapacak herkes bilmeli. ( kullanmak zorunda degil )
    İyi de hocam adam mühendislik eğitimi müfredatı hazırlamıyor ki x ile bir app yapmak istiyor. Bir başlangıç noktası istiyor. İtirazım bu.

    < Bu ileti mobil sürüm kullanılarak atıldı >
    _____________________________
    Senior Yazilim Gelistirici - Netkent Universitesi Yazılım Mühendisliği Öğrencisi




  • mahoni_38 kullanıcısına yanıt
    Itirazin sekil degistirdi sanki, yazilim muhendisinin OOP bilmesine gerek yok derken bir anda "baslangic noktasi arayan kimsenin oop ogrenmesine gerek yok" demeye mi basladin?

    Ben konu basligini pek umursamiyorum acikcasi, konu bir sekilde OOP bilmek gerekir miye gelmis, ona cevap veriyorum.

    < Bu ileti tablet sürüm kullanılarak atıldı >
    _____________________________
  • konu biraz amaci disina cikmis gibi. neyse kendi fikrimi soyleyeyim sana.

    Yerinde olsam C ile uygulama gelistirmezdim. neden diye soracak olursan linux dunyasinda C ile yazilmis open source applicaaton'larin kodlarina bakabilirsin. Ornek olarak cok basit bir GNOME application'i vereyim sana: Bijiben (GNOME Notes) Simdi bukadar basit bir applicaton'in bile kodlarinin C ile yazmasinin nekadar zor ve karmasik oldugunu gorebilisin bu ornekten. ben kendim baktigimda bir an afalladim o gune kadar kendimi C biliyorum zannederdim :D ama mesele C bilmek deil pratikte C ile birseyle yapmak. yani kisa sonuc: C ile application yapmak cok geride kaldi ve cok kulfetli o yuzden C ile yapma.

    peki hangi programlama dili ile yapacagim linux da (Ubuntu) ?
    bu soruya cevap vermek icin ilk once linuxda uygulama yapmak icin en iyi kutuphaneler nedir onlara bakalim.
    1 - GTK+: bana gore en iyisi ki bircok linux desktop bunun ile yazilmistir. ve linuxta sayisiztane application bunun ile yazilmistir bunlardan en unlusu: GIMP, Inkscape, Nautilus, vs...
    2 - QT: QT de cok iyidir. hatta GTK+ dan daha gelismis bir kutuphanedir fakat linux da nedense bukadar unlu olamamistir. ama GTK+ nin aksine tam cross platformdur.
    3 - wxWidgets: bunun hakkinda cok bilgim yok.

    GTK+ kutuphanesi icin tavsiyem C++, Vala, Python, ve nesne yonelimli olan diger diller. ozellikle Vala programlama dili tam GTK+ icin bicilmis bir kaftandir. GTK+ icin Cok ciddi dusunuyorsan Vala yi sec derim. fakat unutma yaptigin applicaton'lar sadece linux da sinirli kalabilir cunki GTK+ tam cross platform deil.

    QT icin tavsiyem C++ veya Python veya baska bilmedigim QT nin destekledigi diger diller. QT nin GTK ye gore en guzel avantaji full cross platform olmasidir yani yaptigin application'lar hemen hemen her masaustunde calisabilir.

    wxWidets hakkinda cok fazla bilgim yok o yuzden birsey diyemeyecegim ama Python ve C++ destekledigini biliyorum.

    Not: Vala tam bir programalma dili degildir Vala kendi kodlarini C koduna donusturur yani Vala ile bir C uygulamasi yazmis olursun dolayli olarak. yani bir C code generator diyebiliriz.
    _____________________________




  • quote:

    Orijinalden alıntı: Mephalay

    Itirazin sekil degistirdi sanki, yazilim muhendisinin OOP bilmesine gerek yok derken bir anda "baslangic noktasi arayan kimsenin oop ogrenmesine gerek yok" demeye mi basladin?

    Ben konu basligini pek umursamiyorum acikcasi, konu bir sekilde OOP bilmek gerekir miye gelmis, ona cevap veriyorum.
    baktım bir yere varmıyorum, en azından konuyu ve buraya nasıl geldiğimizi hatırlayayım dedim. OOP sen bulsan bu kadar övmezdin.
    _____________________________
    Senior Yazilim Gelistirici - Netkent Universitesi Yazılım Mühendisliği Öğrencisi
  • mahoni_38 kullanıcısına yanıt
    Programlama paradigmalari bilinmelidir. OOP de , FP de, PP de. Ben bunu savunuyorum. Spesifik olarak OOP yi ovmuyorum. Hala anlamamakta israr ediyorsun : )
    Senin tum konu boyunca OOP neden "bilinmese de olur" iddiani desteklemek icin sundugun tek arguman "ben kullanmadan da yazabiliyorum" minvalinde oldu. Bu ciddiye alinacak bir arguman degil. Internette bir suru OOP elestirisi yapan profesyonel var, ac bari savunmaya calistigin noktayi biraz daha iyi ogren. Ancak insanin bir seyi elestirmesi icin dahi once onu bilmesi gerekir, yine benim ilk basta bahsettigim "OOP bilinmelidir" noktasina geri donersin.

    Dedigim gibi konu basligi umrumda degil, bana konu basligini hatirlatarak sadece laf ebeligi yapmis oluyorsun.

    < Bu ileti tablet sürüm kullanılarak atıldı >
    _____________________________
  • quote:

    Orijinalden alıntı: Mephalay

    Programlama paradigmalari bilinmelidir. OOP de , FP de, PP de. Ben bunu savunuyorum. Spesifik olarak OOP yi ovmuyorum. Hala anlamamakta israr ediyorsun : )
    Senin tum konu boyunca OOP neden "bilinmese de olur" iddiani desteklemek icin sundugun tek arguman "ben kullanmadan da yazabiliyorum" minvalinde oldu. Bu ciddiye alinacak bir arguman degil. Internette bir suru OOP elestirisi yapan profesyonel var, ac bari savunmaya calistigin noktayi biraz daha iyi ogren. Ancak insanin bir seyi elestirmesi icin dahi once onu bilmesi gerekir, yine benim ilk basta bahsettigim "OOP bilinmelidir" noktasina geri donersin.

    Dedigim gibi konu basligi umrumda degil, bana konu basligini hatirlatarak sadece laf ebeligi yapmis oluyorsun.
    Her doğru her durumda doğru olmuyor. ben soruya cevap verdim. Senin doğrun da ne zaman doğru olur. Müh. 4. sınıf öğrencisi için veya yazılım geliştirici olmuş birinin birinci yılı sonrası. Hatta clean code, code complete vs kitaplarını okumadan ölme dersin. sen hala paradikma milliyetçiliği yapıyorsun. Bıktım he he demek istiyorum. daha bir satır kod yazmadan gidin oop, fp, pure code, spagetti code. Hepsini öğrenin. Teorik ile yıllarca calıştıktan sonra ubuntu için c ile klasordeki tekrar eden dosyaları bulma kodunu veya haftanın iş günlerini hesaplamayı falan öyle yapın. Aman yoksa olmazmış!



    < Bu mesaj bu kişi tarafından değiştirildi mahoni_38 -- 26 Nisan 2018; 9:19:41 >
    _____________________________
    Senior Yazilim Gelistirici - Netkent Universitesi Yazılım Mühendisliği Öğrencisi




  • mahoni_38 kullanıcısına yanıt
    Peki senin sundugun alternatif nedir? Ne yapmak gerekiyor? Teorik olarak bir seyler ogrenmeden once oturun kod yazin, takilin; onemli projelerle ugrasinca mi bu mevzularla ilgilenin diyorsun? Ekrana "hello world" yazdirmak icin dahi bir programlama paradigmasi kullanmis olmayacak misin? Kusura bakma ama, cidden senin tam olarak neyi savundugunu cozemiyorum. Mevzuyu da cok uzatmak istemiyorum, eger cevap vermek istemezsen de anlarim, ben de sikildim bu konudan. Cunku ne yazarsam yazayim, sen israrla "Olmazsa olmaz" dedigimi saniyorsun. Ben bilmeli diyorum, bilmek zorunda demiyorum. Bilirse iyi olur diyorum, bilmezse yapamaz demiyorum.

    < Bu ileti tablet sürüm kullanılarak atıldı >
    _____________________________
  • quote:

    Orijinalden alıntı: Mephalay

    Peki senin sundugun alternatif nedir? Ne yapmak gerekiyor? Teorik olarak bir seyler ogrenmeden once oturun kod yazin, takilin; onemli projelerle ugrasinca mi bu mevzularla ilgilenin diyorsun? Ekrana "hello world" yazdirmak icin dahi bir programlama paradigmasi kullanmis olmayacak misin? Kusura bakma ama, cidden senin tam olarak neyi savundugunu cozemiyorum. Mevzuyu da cok uzatmak istemiyorum, eger cevap vermek istemezsen de anlarim, ben de sikildim bu konudan. Cunku ne yazarsam yazayim, sen israrla "Olmazsa olmaz" dedigimi saniyorsun. Ben bilmeli diyorum, bilmek zorunda demiyorum. Bilirse iyi olur diyorum, bilmezse yapamaz demiyorum.
    Önce emekle, sonra yürü sonra uzmanlaş. Konusan bir cocuk ilk başta edebi olarak doğru cümlelerle konuşmaz. Herşeyin başlangıcı biraz derme çatmadır. Kasmaya gerek yok. Zamanla herşey yerine oturur.
    _____________________________
    Senior Yazilim Gelistirici - Netkent Universitesi Yazılım Mühendisliği Öğrencisi




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