Programlamaya yeni baslamak isteyen ve hicbir teknik bilgisi olmayan birisine C gibi alt seviye dilleri ya da C++, Java veya C# gibi ust seviye olsa da bircok kisitlamaya sahip, bazi isleri yapmak icin bircok kompleks (ve ozellikle ticari) framework ve kutuphanelere ihtiyac duyan programlama dillerini tavsiye etmek, bence o kisinin bu isten bir an once vazgecmesine davetiye cikarmaktir.
Programlama bana gore eglencedir. Bunu profesyonel olarak yapacaksaniz dahi, isin eglencesi olmadiginda bence anlamsizdir. Bu yuzden, yeni baslayan ve teknik bilgiye sahip olmayan birisinin, akici, basit sozdizimi ve rahat kullanilabilen bir programlama diliyle baslamasinda fayda var. Bence (ve hatta bircok programciya gore), yeni baslayan birisi icin en uygun dillerden birisi Python'dur.
Python, ne C gibi alt seviyedir, ne de Java ve C# gibi kati kurallara sahiptir. Soz dizimi de basit oldugu icin bir Python kodunu okumak ve anlamak oldukca kolaydir. Ayrica IDLE adli editor/konsol birlesimi, basit kodlari interaktif olarak denemeyi sagladigi icin ogrenmeyi daha da kolaylastirir.
Eger kisi ileride bu isi profesyonel olarak yapacaksa, Python ile edindigi bilgi birikmini daha alt seviye bir dile veya Java ya da C# gibi diger dillere aktarmakta sorun yasamayacaktir.
Bu nedenle 16 yildir kod yazan, son 8 yilini da profesyonel olarak kod yazarak geciren biri olarak Python'u oneririm.
Algoritma konusuna gelince, algoritma bir isi yapma yontemidir. Piyasada giris seviyesinde bircok algoritma kitabi var. Bunlara bakabilirsiniz. Ancak buna cok takilmayin. Herhangi bir dilin giris seviye kitaplari zaten size basit algoritma kurma bilgisini vermeye calisir.
Burada yazdiklarima paralel olarak gecen gun de soyle seyler yazmistim:
http://yasar.senturk.name.tr/gunluk/2013/02/03/hangi-programlama-dili-ile-baslamali/