Sıfırdan programlamaya başlamak istiyorum

Başlatan ali nail, 15 Ocak 2009 - 23:06:51

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

ZooM

yeni  python  a basladim printleri calisiyorum. asagidaki dosyayi masa ustune deneme.py olarak kaydettim. 
Alıntı Yap#!/usr/bin/env python
a = "elma"
b = "armut"
c = "muz"
print "bir", a, "bir", b, "bir de", c, "almak istiyorum!"

uc birimde komut satirindan  pythone deneme.py yaptim ama

Alıntı Yappython: can't open file 'deneme.py': [Errno 2] No such file or directory
uyarisini aldim. Sorun ne anlayamadim :S
If I was your vampyre...

ZooM

http://wiki.pardus-linux.org/index.php/Python#Metin_D.C3.BCzenleyici_Kullan.C4.B1larak_Python_Program.C4.B1_Nas.C4.B1l_Yaz.C4.B1l.C4.B1r.3F bu linkte
kaydettinizde pythone simgesi cikmasi gerekiyor dedi ama cikmadi. acaba benim sistemimde (mint 6)yuklu degilmi dicem. oyle olsa uc birimden pythonu calistirmazdi.
If I was your vampyre...

ZooM

Tamam anladim. Orda Desktop diyor benimki Masaüstü :) simdi oldu.
If I was your vampyre...

L0stFace

Konuyu açan belki cevabını bulmuştur ama bende ufak bi yorumumu yapayım belki bazılarının ilgisini çeker bir nebzede olsa yardımcı olur.

En başta ne için program yazmak istediğinize karar verin.
C veeya Asmbleyle başlayın diyorsa biri emin olun o programlamadan anlamıyordur :)(kimse üstüne alınmasın)
C ve Assmbley düşük seviyeli dillerdir.Yani makine diline yakın 01 lere yani.Ancak yüksek seviyeli diller ingilizceye benzer buda sizin kod yazmanızı kolaylaştırır.Size önerim en başta C#,Java,Vb.Net dillerinden birini öğrenmeniz olacaktır.

Algoritma meselesine gelirsekte ; Hem dili çalışırhemde algoritmayı öğrenirseniz daha güzel olur.Aslında algoritmada başlangıç seviyesindew hiç birşey yok denebilir :)Problem çözme mantığı ve örnekler.

C#,Java gibi kolay bir dili öğrendikten sonra C,C++ gibi baba dillere başlayabilirsiniz
Herkese İyi Çalışmalar

heartsmagic

@L0stFace, sen de kusura bakma ancak C öneren programlama bilmiyordur demek çok iddialı olmuş :)
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.

eribol

Alıntı yapılan: heartsmagic - 20 Mart 2010 - 00:09:03
@L0stFace, sen de kusura bakma ancak C öneren programlama bilmiyordur demek çok iddialı olmuş :)
yorumun tamamını okumamıştım. Meğer taş atmışlar bize :). Tamam uzman değilim hatta unuttum C'yi ancak her zaman derim C programlama dillerinin anasıdır(veya babası farketmez) ve eğer C öğrenilirse diğer dilleri öğrenmek inanılmaz kolay olur. Bunun yanısıra işin gerçek mantığı da kavranmış olur.

L0stFace

Biraz yanlış anlaşıldım galiba :))

C anadır babadır en büyük dildir bunda kuşkum yok arkadaşlar.Sadece bir düşünsenize adam C den başladı tamam if else switch güzel ya devamı eğer bu işle uğraşacaksa en başta bende Java yada C# gibi kolay diller öğrenilmeli.İçinde hazır fonksiyonları olan isterseniz inceleyin programalamaya başlama kitaplarında örnekler bu diller üzerinden verilir ben ondan öyle söylemek istedim.Yorumum biraz abartılı oldu ama sadece ilgi çekmesi için öyle demiştim.

Hatti

Alıntı yapılan: L0stFace - 19 Mart 2010 - 23:52:32
Konuyu açan belki cevabını bulmuştur ama bende ufak bi yorumumu yapayım belki bazılarının ilgisini çeker bir nebzede olsa yardımcı olur.

En başta ne için program yazmak istediğinize karar verin.
C veeya Asmbleyle başlayın diyorsa biri emin olun o programlamadan anlamıyordur :)(kimse üstüne alınmasın)
C ve Assmbley düşük seviyeli dillerdir.Yani makine diline yakın 01 lere yani.Ancak yüksek seviyeli diller ingilizceye benzer buda sizin kod yazmanızı kolaylaştırır.Size önerim en başta C#,Java,Vb.Net dillerinden birini öğrenmeniz olacaktır.

Algoritma meselesine gelirsekte ; Hem dili çalışırhemde algoritmayı öğrenirseniz daha güzel olur.Aslında algoritmada başlangıç seviyesindew hiç * bir şey yok denebilir :)Problem çözme mantığı ve örnekler.

C#,Java gibi kolay bir dili öğrendikten sonra C,C++ gibi baba dillere başlayabilirsiniz
Herkese İyi Çalışmalar

C ile Assembly' yan yana geçmesi kafaları karıştırabilir bence. Çünkü C orta seviyeli bir dildir. Assembly ise düşük seviyeli bir dildir. Onunda altında yani en altta makine dili bulunur.

Assembly öğrenmek çok daha zordur. Ama bence küçük bir çocuk bile rahatlıkla C dilini öğrenebilir. İnsanları yanlış yönlendirmeyin lütfen.

agritux

Hep bir dil öğrenmek istedim ama hiç başlayamadım :)
Bu başlıkta gördüm ki alogaritma da gerekiyormuş :D
Başka gereken bir şey varmı :)

Piton öğrenmek istiyorum ben :) elimden tutmak isteyen varmı :P

heartsmagic

Baştan belirteyim ben @Hatti'nin yorumuna da katılmıyorum. C'yi çocuğun bile, hele hele rahatlıkla öğrnebileceği bana gööre doğru değil :) @L0stFace'in belirttiği gibi "pointer"lara gelindiğinde kocaman kocaman adamlar bile afallıyorlar :)

Fakat, ben hâlâ C'nin başlangıç için yanlış seçim olduğunu düşünmüyorum. Zira, hazır olan şeye alışılırsa programlama öğrenilir, algoritma yazma hazmedilir. Bu aşamadan sonra kişi hangi dile giderse gitsin mantığı bildiğinden dolayı zorlanmaz. Fakat diğer türlü, hazıra alışan kişide bir takım noksanlıklar olabilir.
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.

L0stFace

Neyse siz daha iyi bilirsiniz başlasınlar C den :)

Hatti

İşaretçiler !  :D
Şimdi yeniden okudum da biraz abartılı yazmışım o cümleyi, kabul ediyorum...

heartsmagic

Ortak noktamız bu olsun, herkes abartılı yapmış olsun yorumları :) Ne "kesinlikle başlayın", ne de "kesinlikle başlamayın" tavsiyesi uygun olmasın :)
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.

yamtara

programlamaya sıfırdan başlamak icin belli bir dili tavsiye etmek yerine önce programlama mantigini anlaya bilmek gerek programlama dilini ogrenmekteki ana amacı belirleyerek ogrenmek istediginiz dile yonelebilirsiniz...
virüs yazmak istiyorsan makine diline yakin diller web tasarimciligi icin java html, nesneye yonelmek icin c# c c++
vs. vs.
başlangiç aşamasinda butun diller hemen hemen ayni mantikta, yalniz iş dallanıp budaklanmaya başlayinca hepten oturup kafayi çizmeye başlayabilirsin. ama biryerden başlamak lazimsa eger programlayi hangi amaçla ögrenmek istedigini belirlemek en dogru başlangiç olur düşüncesindeyim.
benim nacizane tavsiyem c yi orta seviyede ögren müteakibende bütün gücünle c++ dilini ögren bu dilde yapabileceklerin diger diller için yorum yapamicam ama mantıgı kapıp beyni patlattiktan sonra hayal gücünle sınırlı,

asicok

Arkadaş bence ciddi bir programcı olmak istiyorsan bana göre hız istersen esneklik istersen assembyl daha sonra işletim sistemlerini anlamak istersen C diline hakim ol ve ana iskeleti oluşturup hızlı program yazmak istersen de python öğren derim.
Nedenmi pythonla binanın kolonlarını isteletini oluşturursun C dili ile tuğlalarını örersin assembyl ile de ince işçiliğini yaparsın alsana dört dörtlük bir program olur kale gibi.Esenlikler
Oyun oynayacak yaşı geçti abisi artık ubuntulu oldu.

screenshot

Programlamaya başlayacakların en büyük sorunu acaba nerden başlasam oluyor. Gelen öneriler ise  genelde kolay olan dilden başlanması.

Ben bu fikre kesinlikle katılmıyorum. Kolayda olsa zorda olsa öğrenmek için ciddi bir emek ve ciddi zaman ayırmak gerekiyor. Hadi diyelim bir kaç senede kolay diye tabir ettiğimiz dili öğrendi. Fakat hedefinde zor diye tabir ettiğimiz dil var. Bu geçiş süreci çokmu kolay olacak? Şahsen bana göre kolay değil. Fazladan zaman kaybı.

Programlamaya başlayacak yeni kullanıcılara benim tavsiyem öncelikle hedef belirlemeleri ve hedeflerine uygun kolay zor diye ayırt etmeden uygun dili seçmeleri olur.

Bahsettiğim hedef neye göre belirlenir?
Bu işi meslek olarak mı seçecek hobi olarakmı yapacak?
Yazılan program hangi platformlarda kullanılacak?
Yazılım sektörüne programcı/yazılımcı olarak girmeyi mi düşünüyor?
Programlama dili öğrenmek için ne kadar süre ayırabilecek?


Son olarak seçmeyi düşündüğü programlama dillerinin eksileri ve artıları araştırılması gerekli.

Peki programlama dili bilmekle iş bitiyormu? Sadece programlama dili bilmeniz yetmez. Eğer web programları geliştirecekseniz web teknolojisini, PDA programlayacaksanız mobil teknolojisini, ticari yazılımlar geliştirecekseniz server, network ve protokoller vb. bilmeniz gerekir.

Programlama dili seçiminde matematiksel bir doğru yoktur. Kişi kendi doğrusunu kendisi bulmak durumundadır.

Aşağıdaki linklerde dünya genelinde hangi dilin ne kadar popüler olduğu, dillerin karşılaştırılması gibi bilgiler mevcut.
http://www.langpop.com/
http://www.ohloh.net/languages/compare?measure=commits&percent=&l0=csharp&l1=java&l2=pascal&l3=cpp&l4=visualbasic&l5=-1&commit=Update
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
"Zihin Fukara Olunca , Fikir Ukala Olur"

Angel Spy

Bence C den başlamalı programlamayı öğrenmek istiyorsa kişi. Tabi ki sebep bir anlık heves değilse. Çünkü C hem basit bir dildir hem de mantık kullanmayı destekler. Programlama olayının mantığını kavradığını hissettiğin an artık istediğin dili rahatlıkla öğrenebilirsin hele de ingilizcen (malum komutlar ingilizce olunca) ve birazda yeteneğin varsa. Çünkü bütün programlama dillerin altında aynı mantık yatar sadece komutların diziliş şekilleri farklıdır. Kimi python der kimi java kimi de c++, aynı anda iki işlem yapamasa da bence gene de ve ille de C*
Something is better than nothing
What goes around, comes around.
46234-54766-54766-55317-55485-55438-55819-56064-56077-56324-56773-59424-59527-59871-60639-61134-61184

ekremsenturk

Buradan başlayabilirsiniz:http://scratch.mit.edu/

Veya  benim gibi çalmalisteleri yazarak.(Rhythmbox ile bir çalma listesi yazdırın ve Gedit ile arayıp bulun, ve açın. Aynısının benzerlerini sizde yazın. 10 - 20 tane sonra az çok hangi kurallara göre işlediğini anlarsınız. İyi bir başlangıç olur.)

microanaliz

Programlama öğrenmeye neden bir insan başlar bunun nedenini tam anlaşıldığında cevap bulunabilir.Özellikle hangi dille değilde algoritma mantığını insan çözerse gerisi çörap söküğü gibi gelir.
1-İşlemciyi tanıyacaksın assembyl
2-İşletim sistemlerini tanıyacaksın C dili
3-Hızlı yol alacaksın python öğreneceksin
4-İnternet bağlantısı ve veri tabancılığını öğreneceksin PHP ve SQL
En önemlisi bütün bu yola dayanabilecekmisin..
MicroAnaliz

microanaliz

C dilinin kuralları kullanılarak python oluşturulmuştur ve bir çok prrojede yerini almıştır.C bilmen pythonu anlaman için daha iyi diyebilirim.
MicroAnaliz

sem

Genel öneri de önce Python ile başlayıp daha sonra C gibi düşük seviyeli dillere yönelme yönünde oluyor ama iş kişide bitiyor tabii.
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

alquirel

Alıntı yapılan: sem0900 - 23 Ağustos 2011 - 12:35:36
Genel öneri de önce Python ile başlayıp daha sonra C gibi düşük seviyeli dillere yönelme yönünde oluyor ama iş kişide bitiyor tabii.

Geneli bilmem ama bence bu işler sağlam temeller üzerine oturtulmak isteniyorsa önce temel olan dili öğrenmek sonra diğer dilleri öğrenmek en güzeli. Çünkü o zaman herhangi bir dili öğrenmek daha da kolaylaşıyor kişisel tecrübelerime göre. Hani eskilerin bir sözü var, işi mutfağında öğrenmek diye ;)

ekremsenturk

#97
                       C veya C++ gibi Program'lama dilleri sadece kod yazmayı öğrenmek ile öğrenilebilecek diller olmadığından dolayı daha ileri seviye bilgi düzeyi gerektiren dillerdir.

Okuma ve yazmayı öğrenirken, ilk okul birinci sınıfta, önce harfleri öğrenerek başlamıştık.
Program'lamada durum tam tersine. Bilgisayar'ınızın işlemcisi için basit olan uygulamalar, kullanıcıdan veya program'cıdan daha fazla bilgi ve beceri isterler.
İşlemcinin tüm işlemleri üstlendiği uygulamar ise kullanıcının veya program'cının işlerini hafifletirler.

                       Program'lama dillerinin çok kısa bir Tarihi:

İlk program'lama dilini, Ada isimli bir Asil Bayan icat etmiş, ve 1800'lü yıllarında bir mekânik hesap makinasını işletmek için kullanılan bir delikli kart'tan oluşuyormuş. Bu tür delikli kartlar uzun bir süre (1990 lı yıllara kadar) farklı şekilde kullanıldılar.

İlk elektronik Bllgisayar'lar  için program'lama dilini bir Alman bilim adamı, 2. Dünya savaşı sırasında icat etmiş ve Alman Patent dairesine gittiğinde, Almanya'da Almanca'dan başka bir dil konuşulamaz cevabı almış ve kapı önüne çıkartılmış. İlk elekronik Bilgisayar'ıda yine Nazi Alman'lar icat etmişler. Ancak program'lanabilir olmayan ve Enigma adında askeri amaçlı bir cihazmış. Deniz altılarda kullanılan bir şifre çözme ve şifreleme cihazıymış.

İkinci nesil elektronik Bilgisaya'rları Amerika'lılar, 2. Dünya savaşı sonrasında geliştirmişler. Bilimsel amaçlı kullanılan bu Bilgisayar'ların fiyatları 50-100 Milyon dolar civarıdaymış ve Alman'ların Enigma'sı gibi sabit bir yapıya sahip olsalarmış, ve içlerinden biri hatalı üretilseymiş, yapılacak tek iş varmış, o da Bilgisayar'ı çöpe atmakmış (Zaten toplam bir kaç tane üretilmişler) Bu sebepten dolayı bunları programlanabilir olarak üretmeyi tercih etmişler. Tamir etmek, çöpe atmaktan daha hesaplı.

Program'lama dillerinin gerekliliğde böle başlamış olmuş.
İlk program'lama dilleri ile bilgisayar'ın kendisi çalıştırılıyormuş. İşletim sistemi ise çok daha sonraları icat edilmiş.

İlk üç büyük klasik program'lama dilleri, "Fortran", " Lisp", ve sonuncusu ve de en kısa ömürlüsü olarak "Algol" olmuşlar. Bütün günümüzün  program'lama dilleri (veya çoğu), bu üç büyük klasik dil ve türevlerinden türemişler." Algol'ün" yerini türevleri olan "C", "Pascal" ve Bliss almışlar. "C'nin" geliştiriciler olan "AT&T", Amerika'da bir tekel konumunda olduklarından dolayı, o ülkenin kanunları gereği, başka alanlarda faaliyet gösteremeyeceklerinden dolayı, geliştirmiş oldukları ürünleri  bedavadan herkese dağıtmışlar. Sonuc olarakda aynı türün diğerleri olan Pascal ve Bliss, avuçlarını yalamışlar. Bu başarı öyküsü, açık kaynağında temelini atmış oluyor.

Fotran türevleri : Basic, PL/1, Rexx, Awk v.s.
Lisp türevleri     : Sheme, Logo, Smalltalk, Lua v.s.
C türevleri         : C++, C#, Java, PHP v.s
Paskal türevleri : Modula, Oberon

Python, Perl, Ruby, Haskel gibi program'lama dilleri, her yönden etkiler gösterirler.



Öğrenmeye başlamak için uygun program'lama dilleri:

Basic:
İlk eğitim amaçlı olarak geliştirilmiş program'lama dillerinden biri olan Basic. Geliştiricileri tarafından lisanslanmadığından dolayı bir çok türü başkaları tarafından üretilmiş ve günümüzdede her İşletim sistemi, altyapı, işlemci mimarisi ve Bilgisayar türü için türleri mevcut. tek sorunu ise, bir standart'laşma oluşamaması. İlk Basic derleyicisi için anlatılan programlar, günümüz bilgisayar'larında bile, kod'ları derleyicinin özelliklerine biraz uydurularak çalıştırılabiliyor.

Logo:
Basic ile aynı nedenler ile geliştirilmiş ve ilk grafiklerin kullanılabildiği program'lama dili. Adının açılımıysa "Logical Oriented, Graphical Oriented", Türkçesi ise "Mantısal ve Grafiksel odaklı" oluyor.

Smalltalk:
Logo'dan türeyen ve ilk tamamen OOP (Nesne odaklı) program'lama dili olan, Java benzeri bir dil. Yine başlangıçta egitim amaçlı olarak geliştirilmiş bir program'lama dili. Linux'ta SqueaK adı altında biliniyor.

Scratch:
Squaek ile geliştirilmiş ve daha da basitleştirilmiş olan Scratch, bir Ünivesite öncesi eğitim program'lama dili. 7'den 70'şe herkese hitab edeceği düşünülerek ve bilinen en kolay programlama dili olarak tasarlanan Scratch ile, sadece bir hafte içinde ilk projenizi geliştirebilirsiniz. Ancak çocuk oyuncağı olamdığını, ileri seviye projelere kalkıştığınızda anlarsınız. Projelerinizi İnternet üzerinden ücretsiz yayınlayabileceğiniz gibi, diğer yayınlanan projeler arasından seçtiklerinizida indirebilir ve kodlarını inceleyebilirsiniz. Scratch kullanmayan ve de üye de olamayanlarda, yaklaşık 1,6 Milyon yayınanan proje arasından seçtiklerini, İnternetten indimeden, İnternet tarayıcııları ile çalıştırabilirler ve deneyebilirler. Scratch Mit Universitesinin bir projesidir.

Basic 256
Scratch gibi Universite öncesi eğitim amaçlı, geleneksel Basic benzeri basitleştirilmiş ve de güvenli ortamda kodlama öğrenebileceğiniz bir İDE. Ubuntu paketleri arasında bulabilirsiniz. Son sürümü Qt ile geliştirildiğinden dolayı KDE altyapısı üzerinde daha iyi çalışıyor. Son Linux sürümünü Ubuntu'da çalıştırmayı başaramadım. Wine ile Windows sürümünü kurdum. Son sürümünün bir de Pdf formatlı 220 sayfalık ve kolay anlaşılabilen bir dokumanı var. Basic 256 anasayfasından indirebilirsiniz.

Herkes, en iyi ve en kolay, sevdiği ve ilgi duyduğu konuları öğrenebilir.  Ne istediğinizi bilene kadar, hep başkalarının sizin için önerdiği konularla ilgilendiğinize inanırsınız.

Kişisel önerilerim:
Basic 256 veya  Scratch ile, hangisi size daha daha çok hitab ediyorsa, başlayabilirsiniz.
Ve yeterince eğlendiğinize inandığınızda daha zor bir program'lama diline geçerek, asıl hedefinize ulaşabilmek için  bir tür sıçrama tahtası olarak kullanabilirsiniz. İkinci

aşama için önerebileceklerim: NetLogo veya Squeak veya Yabasic veya SdlBasic.

Netlogo'nun yardım bölümü üç aşamalı olarak, okuyucunun tecrübe seviyesine göre uyarlanmış, ben beğendim. Squeak tercih edenlere mutlaka bir Smalltalk veya Squeak Kitabı bulmalarını tavsiye ederim.
Yabasic ve SdlBasi, yeni Ubuntu sürümlerinin yazılım merkezlerinde mevcut ve yeni başlayanlara fazla hitab etmeyen türden olsalar bile bir yardım bölümeri mevcut. Yabasic yardım belgesi /usr/share/doc/yabasic dizini içinde bulunan yabasic.htm isimli bir html begesi. Home dizininize kopyalamanızı tavsiye ederim.
SdlBasic'in bir görsel kullanıcı arayüzü var ve her şey VisualBasic'tekine benzer şekilde arayüz üzerinden ulaşılabilir, ancak Gambas ve VB'den daha kolay ve anlaşılır.

Ubuntu yazılım merkezi, özelliklede LTS sürümlerinin depoları, programlama öğrenmek isteyenler için bir cennet.






microanaliz

Biraz donanım biraz assembyl mantığı sonra C dili ve nesneye yönelik bir dil Bunlardan önce şu sorulara cevap yazmak cevap bulmak lazım neden derleyici neden grafik arayüzü neden diller farklılaşmış neden işletim sistemi gibi sorular ve bilgisayarın arkasında nasıl mantık var da tuşa basınca ekranda karakterler nasıl oluşuyor hangi kısımlar görev alıyor bu gibi can alıcı noktaları sorup kendine bir defter tutarsan ve zamanla hangi dili seçmen gerektiğine kararı daha sağlıklı verebilirsin her halde...Kolay gelsin az okuma bol örnek çözme insanı bilgisayarda ilerletir...
MicroAnaliz