[]

Programlama neden anlatılamıyor? Yoksa ben mi malım?

beyler 15 yıldır bilgisayar kullanırım, bu programlama davası hep içimde ukte kalmıştır anasını satayım. arada bir heves edip hadi ulan araştırayım biraz derim, bir ton site incelerim...yok işte olmuyor. herif öyle anlatmaya başlamış ki, yazının başlığı "programlamaya giriş" ama yazdıklara baksan sanki karşısındaki 50 yıllık hacker.. ulan tamam c++, c#, java vs.. bunlar ağır diller, ben insan gibi basic'ten pascaldan vs.. başlayım diyorum yok abi yok, adam ben biliyormuşum gibi anlatıyor. misal:

şimdi arkadaşlar basic diline başlıyoruz, bu dilde algoritma çok önemli, haaa bu arada algoritma çok önemli, peki algoritmanın çok önemli olduğunu söylemiş miydim? bir de unutmadan algoritma çok önemli. bu arada compilerımıza daha önce c de kullandığımız
#include <vcl.h>
#pragma hdrstop
#include <stdio.h>
#include <conio.h>
kodlarını girersek ooooh süper oldu bakın!!!!


ulan yılların matematikçisiyim, kafa biraz çalışır, az biraz fortran da kastık ama bu ne lan? böyle anlatım mı olur???yalvarırım yardım edin, anneye anlatır gibi anlatan, beni şu boka ısındıracak bir kaynak arıyorum, insanlık namına yardım edin :(

 
  • neo ahrar  (30.05.14 01:06:29) 
Önceden yazılmış kütüphaneleri ekliyorsun işte, matematikçi olmaya gerek yok bunu bilmek için.

mesela stdio.h kütüphanesinde standart input output fonksiyonları yer alır, kullanıcıdan bilgi alma, ekrana bilgi yazdırma gibi. Ezberle geç bunu, bilmene gerek yok.
  • eksi sozlukte eksiyen adam  (30.05.14 01:08:40) 
olmuyorsa zorlamamak lazım demek ki.

15 yıldır bilgisayar kullanan programlamaya ilgili birisinin şöyle bir cümle kurması büyük bir fiyaskodur zaten:

"tamam c++, c#, java vs.. bunlar ağır diller, ben insan gibi basic'ten pascaldan vs.. başlayım diyorum"
  • newbie.  (30.05.14 01:09:32 ~ 01:16:13) 
@eksi sozlukte eksiyen adam

işte sorun tam olarak bu , kardeş şimdi senin bu standart input output fonksiyonları bana %+^'Q&%EA(/&%=/(% gibi geliyor, daha temiz daha temel bir anlatım istiyorum. matematikçiler mesela bir cosinüs teoremini ezberle geç yapamıyor işte, mantığı oturtmalıyım, temelden başlamalıyım diye düşünüyorum-hissediyorum. yani illa bir yerde ezber yapılacaktır, 00110 mantığında öğrenecek değilim ama dediğim gibi daha temiz daha berrak bir anlatımla başlasam iyi olacak gibi + türkçe
  • fatihdr  (30.05.14 01:15:37) 
yahu ben diyorum ki fortranla uğraştım, adam pascala basice takılmış. demek istediğim onu bile adam akıllı anlatamıyor anlatmaya çalışan adam, demek ki program bilen herkese sirayet ediyor bu durum, ciddi bir iletişimsizlik var :)


  • fatihdr  (30.05.14 01:18:18) 
programlama ile ilgileneceksen ingilizce bilmen şart. her şey türkçe olsun diyerek olmaz o iş.


  • newbie.  (30.05.14 01:19:25) 
moralinizi bozmak istemem ama internette çok yalın anlatılıyor zaten konular özellikle ingilizce kaynaklara yöneliseniz daha iyi olur. ben okulda c, ve java aldım ama internet sayesinde geçtim bu iki dersten de hocalar çok daha karışık anlatıyor.(iki derside farklı hocalardan aldım)

ekleme: neo da yazmış newboston bu işin ustası daha yalın anlatılamaz.
  • kuzey li  (30.05.14 01:20:20 ~ 01:22:46) 
tamam o yalın kaynakları paylaşın istiyorum bende?


  • fatihdr  (30.05.14 01:21:47) 
tam istediğiniz şey olmayabilir belki ama khan academy'de programlama filan anlatılıyor. ben çok sevyorum anlatma tarzlarını. bi bakın.

www.khanacademy.org
  • supergirl  (30.05.14 01:30:12 ~ 01:31:55) 
Programlama" öğrenmeye çalışmak yerine, ne programlamak istediğinizi belirleyip ona uygun bir dil öğrenin bence. Her dilin kendi içinde bir mantığı var. Dil adı üzerinde. Sonra o dil üzerinden yürümeye çalışın.
Yani nasıl anlatsam, böyle böyle derine indikçe sonu gelmez. En basite inmenize gerek yok. O yüzden o kütüphaneler lazım. Kütüphane denen zaten hazır kod paketleri. Siz de onları birleştirip yeni bir program yazıyorsunuz.
Lego gibi düşünün. Sıfırdan lego üretmek yerine var olan legolardan milyonlarca şekil üretebilirsiniz. Gibi.
  • ay nov kung fu  (30.05.14 01:39:37) 
sevgili fatihdr;

yabancı dil öğrenmek gibi düşünebilirsiniz. öncelikle dilbilgisi (yazımı, syntax, büyük küçük harf duyarlılığı, komut sonu noktalamalar vs.) sonrasında basit tümceler vs. her dilin kendine göre bir yazımı ve diğer dillere göre eksik kaldığı noktalar olabilir. temel şeyleri çözdükten sonra hali hazırdaki basit uygulamaların kodlarını inceleyebilir. ufak tefek değişiklikler yapabilirsiniz. (reverse engineering)

ben meslek lisesi yazılım ardından myo bilg. prog. okudum ama kendimi hali hazırdaki uygulamaları inceleyerek birer kopyasını sıfırdan yapmaya çalışarak geliştirdim.

teori önemli ancak en önemlisi pratik. örn; pascal'da bir menü hazırlayın. 4 seçenek olsun yazılar beyaz zemin mavi olsun. aşağı tuşuna basıldığında aktif menünün zemini kırmızı olsun. yukarı ve aşağı seçenekleri eşliğinde değişsin. bunun algoritmasını kafanızda kurun. örn; aşağı tuşuna basıldığında o hangi menü zemini kırmızı? bir alt menü neydi? bir alt menü kırmızıya dönüştürülürken bir üstünün zemine maviye dönmeli. bu vbasic'de daha kolay ama pascal'da ebemi ağlatmıştı. :)

evet ne yazık ki 15 yıl önce de bugün de türkçe kaynak sıkıntısı çok fazla. piyasada çok kaliteli ve bilgisini aktarabilen adamlar var. ancak onlarda geçim sıkıntısı, fazla mesai gibi dertler yüzünden kişisel bloglarına vakit ayıramıyorlar. ben kendi adıma domain adresimi aldığımda yıl 2006 idi. oldu 2014. 8 yıl oldu ve bir blog bile açamadım. hazır bir wp kur 1 dk. sürmez ama kaliteli içerik ile dolduramadıktan ve sürekli güncel tutamadıktan sonra ne kıymeti var. saat oldu 2 ve ben yatmam gerekirken ufak diye gelen güncellemelerle uğraşıyorum. atarlamam bitti eyyomlamam bu kadar :)
  • phonex  (30.05.14 01:59:51) 
Istanbul'daysaniz, 1 kisi daha bulun, gelip ben ikinize oturup programlama anlatayim. Para falan yok tabi, maksat eglence olsun. Bilgisayar yuksek muhendisiyim.

Neden 2 kisi? Tek kisi socially awkward oluyor, ben dahil toplam 3 kisi ile muhabbetin eglenceli olma olasigili daha yuksek.
  • lightblue  (30.05.14 02:24:27) 
hah!, ben de seninle aynı dertten muzdariptim, üni'de sınıfta da böyleydi çok saçlarım döküldü sabahlara kadar bilgisayar karşısında, anlamıyordum bende sonra baktım olucak gibi değil networkcu oldum kafam rahat şimdi, kendi alanını bulman lazım bence


  • mirty  (30.05.14 08:44:09) 
hakikaten algoritma çok önemli,
algoritmayı kafanda oturtabilirsen ondan sonrası program dilini öğrenmeye kalıyor, o da biraz yabancı dile benzer

  • €xpolerer  (30.05.14 09:01:38) 
program yazarak/geliştirerek hayatını kazanan birisi olarak hak veriyorum sana.

bunun bana göre 2 temel sebebi var.

birincisi bu meslekten para kazanan insanların kendi aralarında geliştirdikleri bir jargon var ve işleri ile ilgili konuşurken büyük bir kısmı bu jargonu kullanmayı seviyor. fakat tıpkı dediğin gibi iş öğrenme-öğretme'ye geldiği zaman bu jargon olayın anasını sikip atıyor. örneğin, @eksi sozlukte eksiyen adam diyor ki "kütüphaneleri ekliyorsun". programlama adına hiç bir sik bilmeyen adam da diyor ki "kütüphane ne amk?"... sonra öğreten diyor ki "işte input, output, compile, bok, püsür"... öğrenen de diyor ki "ne diyon la?".

ikincisi yine bu işten para kazanan adamların da yönlendirmesi ile öğrenmek isteyen kişi programlamayı bir dil üzerinden öğrenmeye başlıyor. bu belki kısmen de olsa doğru bir yöntemdir bilemiyorum ama benim bu konudaki yönlendirmemi isteyen insanlara ilk önce programlama mantığı üzerine bir şeyler araştırmaları yönünde tavsiye veriyorum. hani algoritma çok önemli algoritma çok önemli deniliyor ya gerçekten de önce algoritma, program akışı öğrenilmeli. bu mantık kavrandıktan sonra göze kestirilen bir dil üzerinden devam etmek çok daha mantaklı bana göre.

meramımı anlatmış olmayı umarak bir örnekle bitireyim. bir arkadaşım programlama öğrenmek isteği ile ne yapayım nasıl yapayım tarzı sorular sordu bana. aynen yukarıda anlattığım gibi önce mantığını anlaması gerektiğini söyledim. dilim döndüğünce elimden geldiğince bir süre birşeyler de anlattım. tabi öğretmek o işi yapmaktan çok farklı bir şey. neyse uzatmayayım benim artık tıkandığım, onun da canının sıkılmaya başladığı bir noktada dedim ki örnek üzerinden gidelim. ölçüleri belli bir odaya yine ölçüleri belli ve aynı kutulardan en fazla kaç tane sığacağını hesaplayan bir programı nasıl yazarsın. bu başladı ben kod bilmiyorum, komut bilmiyorum nasıl yazayım sana programı. ulan yaz demiyorum nasıl yazarsın diyorum. yani basit matematik işlemleri ile nasıl yaparsın. hala diyor ki ben dil öğrenmedim daha. ulan türkçe de mi bilmiyorsun hayvan evladı türkçe anlat bana. en nihayetinde aşağı yukarı aynı şey, sen önce bir türkçe anlat ondan sonra onu c#'a çevirirsin. türkçe to c# amk.

özetle demek istediğim budur, önce programı türkçe yazabilecek kadar programlama mantığını öğrenin, ondan sonra bir dil öğrenirsiniz.

not: arkadaşım şunun gibi şeyler söyleyebilmiş olsaydı, tamam aga sen mantığı anlamışsın diyecektim:

odanın enini kutunun enine bölerim, sonra odanın boyunu kutunun boyuna bölerim bulduğum bu iki değeri çarparım. sonra odanın yüksekliğini kutunun yüksekliğine bölerim çıkan bu değeri az evvelki çarpım ile çarparım. al sana kaç tane sığar sorusunun cevabı.

"kesinlikle doğru" diyebileceğimiz bir sonuç döndürmeyecek ama buna rağmen programı yazıldığı takdirde çalışacak bir algoritmadır bu.

"kesinlikle doğru" diyebileceğimiz sonuç için ise üzerine biraz düşünmeye başlayınca olay da netleşmeye başlıyor zaten. zira aynı ebattaki kutuları bir odaya 3 farklı pozisyonda dizebilirsiniz. hatta her pozisyon için 2 kenarda ve en üstte oluşan boşluklara da farklı bir pozisyonda dizmek suretiyle kutu sığdırabilirsiniz. bunları türkçe ifade edebildiğiniz sürece çalışan ilk kodunuzun üzerinde de uygulayabilirsiniz. bundan sonrası basit matematik amk.
  • barbaroj  (30.05.14 14:00:39) 
1
buraya yazılanların hakları Sir Anthony Hopkins'e aittir.
yazan eden compumaster, ilgilenen eden fader
modere edenler angelus, Artibir, aychovsky, baba jo, basond, compumaster, deckard, duyulmasi gerektigi kadar, fader, fraise, groove salad, kahvegibi, kaymaktutmayansicaksut, kibritsuyu, monstro, pandispanya, robin, ron dennis
bu sitede yazılanların hiçbiri doğru değildir. site içeriği küçükler için sakıncalı olabilir. yazılardan yazarları sorumludur. kaynak göstermeden alıntılanamaz. devlet tarafından atanmış bir kurumun internet üzerinde kimin hangi bilgiye ulaşıp ulaşamayacağına karar vermesi insan haklarına aykırıdır. web siteleri kullanıcıların istekleri doğrultusunda bağlandıkları yerlerdir. kullanıcılar isterlerse bir web sitesine bağlanmayabilirler. bu güçleri ve imkanları mevcuttur. bir kullanıcı bir siteye bağlanmak istiyorsa bu onun tercihi ve hakkıdır. bağlanmak istemiyorsa bu yine onun tercihi ve hakkıdır. halkın kendisine hizmet etmesi için görevlendirdiği kurumlar hadlerini aşıp halka neye ulaşıp ulaşmayacağını bilmeyen cahil cühela muamelesi edemezler. ebeveynlerin çocuklarını sakıncalı içeriklerden koruması için çok sayıda bedava ve ücretli yazılım mevcuttur. bu yazılımlar bir web tarayıcısını kullanmaktan daha karmaşık teknik bilgi gerektirmemektedir. devletin milletini küçük düşürmesi ve ebleh yerine koyması yasaktır. Skimlinks ile linkler üzerinden yönlendirme payı alınmaktadır.