C ve Türevlerini Öğrenmek

Başlatan Boreass, 28 Şubat 2016 - 19:42:03

« önceki - sonraki »

0 Üyeler ve 2 Ziyaretçi konuyu incelemekte.

Boreass

Merhabalar. Biraz okudum ama somut ve kesin bir sonuca ulaşamadım. Linux'ta C ve C Türevlerini öğrenilir mi? Öğrenilirse yazılan program çalıştırılabilir mi? Ve alakasız olacak ama hangi text editör/ideyi kullanmalıyım veya kullanıyorsunuz?

ekremsenturk

Bence çok saçma bir soru sormuşsun. konuyu açtığın bölüm başlığına bir bak ve biraz düşün.

Boreass

Alıntı yapılan: ekremsenturk - 28 Şubat 2016 - 20:58:48
Bence çok saçma bir soru sormuşsun. konuyu açtığın bölüm başlığına bir bak ve biraz düşün.
Tamam biraz saçma. Öğrenilir program yazmak Linux'ta ama bu Nasıl çalışacak? O Mono Projesi ile mi? Veya sanal bir makine yapıp yazdığımız programı denemek mümkün mü?

bugra9

- C dili ve c dili türevi dilleri windows yüklü cihazda, linux yüklü cihazda, tablette, havada, karada, uzayda yani zaman-mekan sınırlaması olmadan heryerde öğrenebilirsin.
- Yazdığın yazılımı içinde transistör ve türevleri bulunan, elektronik cihaz diye adlandırılan her alette çalıştırabilirsin.

- Bu başlığın olduğu kategorideki iletileri en çok yanıt verilen ve en çok gösterilen şeklinde sıralayıp yukarıdan aşağıya birkaç başlık ve içeriğini okursan oldukça bilgi sahibi olursun.
- Biraz araştırma yapabilirsin. https://forum.ubuntu-tr.net/index.php?topic=15404.0

- Şu text editörü ya da ide'yi kullanmalısın diye bir zorlama yok. Hangisi hoşuna gidiyorsa onu kullanırsın.
- Ben her şey için "Sublime Text 3" text editörünü kullanıyorum.

heartsmagic

Diğer tarafta C++ ve C# demişsin. C, C++ ile C# çok farklı şeyler, bu konuda bilgili arkadaşlar daha iyi anlatırlar meseleyi. C ve C++ ise söylendiği üzere Linux tarafında hiçbir yerde olmadığı kadar rahattır neredeyse. Aç ev dizininde bir dosya, adına hello.c koy, yaz içine helloworld kodunu sonra doğrudan derle ve çalıştır:

gcc hello.c
./a.out

C# için senin de fark ettiğin üzere Mono'ya bakman gerekiyor bizim tarafta. Esasında başlığı görüp daha hakim arkadaşların yazması için es geçtim, fakat diğer başlığında C# dediğini görünce geri dönüp bir şeyler karalama ihtiyacı hissettim.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

Amenofis

Çalışmaz. Sen windozdan şaşma, linux dandiktir hiçbişey çalışmaz.

Boreass

Çok teşekkür ederim. İçimdeki o küçük şüphe de kalktı. Artık tamamen Linux kullanıcısıyım.

Erdem

#7
Ben editör olarak emacs kullanıyorum. Arkadaşın sorduğu soruya yanıt yazan arkadaşlar da biraz ayıp etmişler.



Üzerinde bir C++ programını derlemek için yazan komutlar da yazıyor. g++ dunya1.cpp -o dunya

http://www.blackhats.es/wordpress/wp-content/uploads/2011/03/msf-abbrev-demo.gif

Emacs'ın msf-abbrev denilen bir eklentisini kullanarak da çok hızlı kodlama yapabiliyorum. Örneğin forx yazıyorsunuz uzun bir döngüyü kolaylıkla ekleyebiliyor.
Eğer Arch Linux tabanlı bir dağıtıma geçmek isterseniz Arcolinux D sürümünü buradan indirebilirsiniz.

Elektronik

freeman

Alıntı yapılan: ErdemBen editör olarak emacs kullanıyorum. Arkadaşın sorduğu soruya yanıt yazan arkadaşlar da biraz ayıp etmişler.

[img width=600,height=392]http://www.zayifakim.org/resim/resim/emacs2.png[/img]

Üzerinde bir C++ programını derlemek için yazan komutlar da yazıyor. g++ dunya1.cpp -o dunya

[img width=600,height=401]http://www.blackhats.es/wordpress/wp-content/uploads/2011/03/msf-abbrev-demo.gif[/img]

Emacs'ın msf-abbrev denilen bir eklentisini kullanarak da çok hızlı kodlama yapabiliyorum. Örneğin forx yazıyorsunuz uzun bir döngüyü kolaylıkla ekleyebiliyor.
viuuuuu. Forumda benden başka Emacs kullanan biri çıktı. :)
Good morning and welcome to the Black Mesa Transit System. This automated train is provided for the security and convenience of the Black Mesa Research Facility personnel.

Boreass

Python için de mi bunu kullanmalıyım?

Erdem

Evet olabilir :)

Ben C++, D, Python, Java hatta mikro denetleyiciler için kod yazarken Emacs kullanıyorum. Hızlı kurulum için şu belgeye bakabilirsiniz.

http://www.zayifakim.org/arduino-ile-emacs-kullanimi/emacs-kurulumu
Eğer Arch Linux tabanlı bir dağıtıma geçmek isterseniz Arcolinux D sürümünü buradan indirebilirsiniz.

Elektronik

barış

Alıntı yapılan: BoreassMerhabalar. Biraz okudum ama somut ve kesin bir sonuca ulaşamadım. Linux'ta C ve C Türevlerini öğrenilir mi? Öğrenilirse yazılan program çalıştırılabilir mi? Ve alakasız olacak ama hangi text editör/ideyi kullanmalıyım veya kullanıyorsunuz?
Linux çekirdeğinin C ile kodlandığını hatırlarsak, bu ilk 2 soruna cevap oluyor sanırım :)
Emacs kullanan arkadaşlarla savaş çıkabilir ama ben de Vim kullanıyorum :D Editör tercihi biraz "yoğur yiyiş" gibi oluyor. Her programcınınki farklı olabiliyor farklı sebeplerden ötürü. Yani "şunu kullanmalısın" şeklinde bir öneri vermek bu durumda doğru olmaz diye düşünüyorum. Ona kendin karar vermelisin. Hangisinde rahat ediyorsan onu kullanmalısın. Kendi kullandıklarımı yazayım:
Java - IntelliJ IDE (JetBrains)
Python - PyCharm Community IDE (JetBrains) veya Vim
C/C++ - Vim
Ruby on Rails - Sublime Text (View kısımlarda HTML için çok yardımcı)

ekremsenturk

#12
Alıntı yapılan: Boreass - 28 Şubat 2016 - 21:02:32
Alıntı yapılan: ekremsenturk - 28 Şubat 2016 - 20:58:48
Bence çok saçma bir soru sormuşsun. konuyu açtığın bölüm başlığına bir bak ve biraz düşün.
Tamam biraz saçma. Öğrenilir program yazmak Linux'ta ama bu Nasıl çalışacak? O Mono Projesi ile mi? Veya sanal bir makine yapıp yazdığımız programı denemek mümkün mü?

İstediğin editörü kullanabilirsin. İster Monodevelop, ister Vim, ister Emacs, fark etmez, Vim ve Emacs sana zor gelir. Monodevelop için ek eklentiler (Paketler) gerekir.

Ubuntu'da gerekli tüm araçlar hazır kurulu geliyor. Bir varsayılan editör, adı "Metin Düzenleyici". Bir varsayılan terminal  emulatörü (Konsol) adı "Uçbirim". Ve bir C derleyicisi, adı C için "gcc" ve C++ için "g++". (g++ kurulu değilse, yazılım merkezinden bulup kurabilirsin.)

Bunları nasıl kullanacağın da neredeyse her C ve C++ kitabının giriş bölümünde yazar.

lnxdev

Ben geany editörü kullanıyorum. Her dilde durumda kendini çok iyi kullandıran bir editör.

Boreass

C++ yazılır ama şuan C Sharp tam olarak olmuyor değil mi?

Erdem

Eğer Arch Linux tabanlı bir dağıtıma geçmek isterseniz Arcolinux D sürümünü buradan indirebilirsiniz.

Elektronik

Sh4oTT

Alıntı yapılan: BoreassMerhabalar. Biraz okudum ama somut ve kesin bir sonuca ulaşamadım. Linux'ta C ve C Türevlerini öğrenilir mi? Öğrenilirse yazılan program çalıştırılabilir mi? Ve alakasız olacak ama hangi text editör/ideyi kullanmalıyım veya kullanıyorsunuz?
Ogrenirsin hocam yeter ki iste telefonda dahi yazip calistirabilirsin :) Editor/ide secimide sana kalmis bir sey :)

ekremsenturk

Alıntı yapılan: Boreass - 29 Şubat 2016 - 18:26:07
C++ yazılır ama şuan C Sharp tam olarak olmuyor değil mi?
Linux'ta olmayan bir şey yok. Beceremediğin her şey tamamen senden kaynaklıdır.

freeman

Linux 'ta C# ile uğraşmanı önermem. C# demek Visual Studio, Windows Forms, ASP.NET, IIS demek. 
Tabi kimse Linux üzerinde C# yazmanı da istemeyecek.
Good morning and welcome to the Black Mesa Transit System. This automated train is provided for the security and convenience of the Black Mesa Research Facility personnel.

Boreass

Anladım çok teşekkürler. Peki son olarak ++ Sharp'tan daha mı kullanışlı? Yani onu kapsayabilir mi?

ekremsenturk

Alıntı yapılan: Boreass - 29 Şubat 2016 - 21:56:03
Anladım çok teşekkürler. Peki son olarak ++ Sharp'tan daha mı kullanışlı? Yani onu kapsayabilir mi?

Hangisi diğerini döver türünde bir soru olmuş.

Bir Programlama dili. Sadece ve sadece bir Protokol (bir ortak terim sözleşmesi) Bu Protokol'ü uygulamaya yarayan araçlar da (Editörler, derleyiciler, Yönlendiriciler/Linker, İDE'ler/"hepsi bir arada") sadece birer uygulama. Bunların hiç biri birşey yapmaz, yapamazlar. Bu tür programlama araçlarının bilgisararında kurulu olması da seni daha iyi veya daha kötü bir programcı yapmaz. Kendin ne yapabiliyor veya biliyorsan, her şey onunla sınırlıdır.

Deathangel

Bende c# kullanmak zorundayım visual code var aslında ama arayüzüne alıskın olmadıgım için sanal makine kurup oyle denicem sana da sanal makıne kurmanı öneririm
in a world without fences and walls, who needs gates and windows

keyserver2.pgp.com
EA004CB1-->privatekey0@gmail.com

Erdem

Alıntı yapılan: Boreass - 29 Şubat 2016 - 21:56:03
Anladım çok teşekkürler. Peki son olarak ++ Sharp'tan daha mı kullanışlı? Yani onu kapsayabilir mi?

C++ ve C# arasında sadece isim benzerliği var. İkisi farklı programlama dilleri.

C++ ve C dilleri arasındaki yakınlığı da şu şekilde tarif etmeye çalışalım.

http://www.stroustrup.com/bs_faq.html#C-is-subset

C C++'nın alt kümesi midir?

Matematiksel olarak düşünüldüğünde tam olarak C C++'nın alt kümesi değildir. Yazdığınız bazı kodlar geçerli C programı olup geçerli C++ programı olmayabilir. Ancak C++, C tarafından desteklenen her programlama tekniğini destekler.

Yalnız bu üstte bahsedilen C klasik C dediğimiz C89 denilen C'nin 1989 yılındaki standardından bahsediyor.


Eğer Arch Linux tabanlı bir dağıtıma geçmek isterseniz Arcolinux D sürümünü buradan indirebilirsiniz.

Elektronik

ekremsenturk

#23
@Boreass Mono ile kullanılan ve Net'te çalışan kod/dosya üreten C++ türevinden bahsetmiş (ben o şekilde anladım)

C grubu diller, C dlinden türeyen diller grubuna denir. C kendisi Algol grubundan gelir, ancak ilk başarılı ve daim bir standartlaşma girişimi olarak (Her bilgisayr türünde aynı kodların kullanımı) başka dil grup'larından da etkilenmiş. Diğer bir Algol grubu progamlama dili, Pascal oluyor. C++ C dilinin ilave işlevsellik kazandırılmış hali. Java daha da ilave işlevsellik ve yeni özellikler kazandırılmış türevi. C# ise Microsoft'un Java'yı kopyalamasının sonucu. Önce J# adında bir girişim olmuş, ancak bu girişimin bedeli Miicrosoft'a 2 mlyar dolar tazminata patlamış. C# bu çalma olayının yasallaştırılmış hali ve ECMA script standartlarına uygun. ECMA script Javascript standardı. Javascript Java olmamakla birlikte Web'e özelleştirilmiş bir C türevi. Yine PHP de web ağırlıklı tasarlanmış bir C  türevi. Actionscript (diğer adı Flash) ise belirli işlemlere özel tasarlanmış bir Java türevi. ASP net, Sunucuda çalışan bir Netframework. Programlama dili olarak C# veya diğer Net dilleri ile kullanılır.

Netframework/Mono/Xamarin ve Java vm (JRE) birer programlama altyapıları. Kod'ların veya çalıştırılabilir dosyaların, Sistem ve Donanım'dan bağımsız ve standart olarak çalışabilmelerini sağlarlar. Bu alt yapılar C grubundan olmayan dillerin de aynı altyapı üzerinde çalışmalarına imkân tanırlar. Bir örnek olarak Visual Basic Net'i gösterebilirim. Net üzerinde çalışan her dil, özellikle kısıtlanmamışsa, Net'in her özelliğini barındırır. Net üzerinde çalışan diller (Java ve MONO/Netframework üzerinde çalışan diller) Net altyapısının modüllerini kullanırlar. Tüm işlemler hazır olarak var ve bunlar yeniden geliştirilmesi gerekmeden her programda kullanılabilirler. Bu nedenle de bu altyapıların boyutları oldukça büyük. Net dilleri ile programlama da bu nedenle daha kolay..

Hazır modülleri veya kütüphaneleri olmayan bir programlama dili ile programlamanın zorluğu, her işlemin önce defalarca, düzgün çalışana kadar denenmesi gerekiyor. Hazır ve düzgün çalışır olarak var olanları kullanmak, çok vakit kazandırır.

Daha yüksek seviye diller, sadece belirli işlemlere odaklanmış diller oluyorlar. Ve bu diller İngilizce belirli terimler ve ek parametrelerinden oluşuyorlar. İngilizce bilmek, işlevin neyi çağrıştırdığını anlamak için yeterli geliyor.

Peki bu isimlendirmeler Türkçeye çevirilemezlermi? Aynen mümkün tabii ki. Çok yüksek seviyeli, ancak sadece belirli işlemlerle sınırlı ve bir oyun motorundan farksız ve hoby ve eğitim amaçlı kullanılabilen Scratch 1.4 kodları, bilgisayarın varsayılan dili ile aynı. Toplam 50 dil destekliyor. Android için Appinventor ve PocketCode Scratch türevleri oluyorlar. Scratch kendisi, Bigisayarlarda SqueakVM (Smalltalk) üzerinde, ve Web sürümü olan Scratch 2.0 ise Flashplayer ile çalışıyor.

aysberg313

Selamlar, konuyu dağıtmak istemem ama python 2.x çalışıyorum (kaynak olarak tabii ki Fırat Özgül/istihza, konu olarak da modüllerdeyim). Python öğrenmeye başlamam tamamen hobi amaçlı yani boş zamanlarımı değerlenirmek ve biraz beyin jimnastiği yapmak içindi ve aslında tüm bu süreçte biraz da GNU/Linux'un da payı var. Çünkü Ubuntu kullanmaya başlayınca her şey dallandı budaklandı; o komut ne işe yarar, bu servis nasıl yapılandırılır, bu yılan da neyin nesi (python). Şimdi bir çok konuda olgunlaşmaya başladım ve artık web tarafına da geçmek istiyorum. Yani html,css,php çalışmaya başlayacağım. Ancak C hep orada duruyor. Bu durumu netleştiremiyorum. Öğrenci veya bu alanda çalışan biri olmadığım için bu öğrendiklerimi nerede kullanacağım ne işime yarayacak henüz bende bilmiyorum ve yolumu çizemiyorum. Daha çok güvenlik tarafına meyilliyim ancak hazır yazılımlar kadar  programlama dilleri de beni cezbediyor. Şimdi tüm bunların ışığında sizce Python'da tüm konuları bitirip belli bir olgunluğa ulaştıktan sonra mı c,php,html ve css'e geçmeliyim yoksa birarada götürülebilir mi? Yani Python öğrenirken C ve PHP'ye de girsem çok mu ağır gelir? Bana yapabilirim gibi geliyor ancak gerçekci de olmak gerek. Maymun iştahlı değilim sadece boş zamanım çok ve tavsiyeye ihtiyacım var.

Son olarak, Fırat Özgül'ün Python anlatımına benzer şekilde C dilini sıfırdan, sade ve anlaşılır şekilde anlatan bir kaynak tavsiye edebilir misiniz? Elimde birçok kaynak var ama kaynak konusunda biraz seçiciyim çünkü yanlış kaynak çoğu zaman zaman kaybına sebep olabiliyor. Her kese teşekkürler.
Sevmezdim kabuklu yemiş, Linux çekirdeği tadıncaya dek !..