Bilgisayar Programcısı olmak için ne yapılmalı?

Aslında terminolojik hata yapılmakta matematik konusunda. Bir programcı ileri düzeyde yada kendine yeteceği düzeyde matematik bilimlerinden olan mantık ve matemateği bilmek zorundadır.
 
Kısaca benden birşey olmaz diyorsunuz

Bak ne güzel söylemişsin Algoritma bilmelidir diye. Basit bir örnek vermek istiyorum. Program yazmak çalıştırmak önemli değildir. İyi bir program olması için en önemli maddelerden ikisi, Etkili hızlı çalışması ve güvenlikli olması. Elinde bir problem var ve motivasyon sağlayacaksın, İki tane algoritmamız olsun. A ve B algoritması. Bu algoritmaların denklemleri an^2 + bn + c, diğeri ise 4^n olsun. Buradan ufak bir geometrik yorum yapalım. 1. algoritmanın grafiği prabolic eğri, diğeri ise üstel olacaktır. Algoritmanın çalışma süresinden bahsedecek olursak. Big O notasyonuna ihtiyacımız olacaktır. yani bunuda ifadecek olursak. T(n) çalışma süresi olarak, T(N)= O(f(n)), yani 1 algoritmamız için T(N)= n^2. ikinci algoritmamız için T(N)=O(4^n), n ise 100 olsun. Yani programı 100 adet girdi temsil etmektedir. Eger 1. algoritma kullansaydın. 1x10^-2 saniyede programın problemini çözecekti. Yok eğer 2. algoritmayı kullansaydın, 5.1 x 10^46 yıl sonra programın sana çözüm verecekti.

Çalışma süresinin tanımıda sudur. T(N)= O(f(n)) için Her durumda T(N) <= c.f(n) ve Bütün(ALL) N>= n ifade sini sağlamalıdır. Daha bir çok yönden farklı örnekler verebilirim. Programcı herkes olabilir, hatta 5 yaşında ki bir çocuk bile. İyi bir programcı olmak için iyi bir matematik gereklidir.
Programcılıktan soğuyorum bu gidişle Mat yoksa yazılımcılıkta yok diyorsunuz
 
Kısaca benden birşey olmaz diyorsunuz


Programcılıktan soğuyorum bu gidişle Mat yoksa yazılımcılıkta yok diyorsunuz
Sen bir kitap al ve başla bu iş anlatıldığı gibi değil burada verilen cevaplarla sadece hevesin kırılır ve hiç düşünmeden seni yapacağın işten soğuturlar. Sadece yaptıkları işin ne kadar mükemmel olduğunu sivri bir dille anlayışsızca ifade ederler. Birilerini birşeyler sorarsın peki neden birşeyler sorduğunu merak ettinmi kendine bunu cevabını verebilirmisin..Ben söyleyeyim sana çünkü bunu yapabilirsin cümlesini başkasından duymak seni rahatlatacak ve memnun edecektir.Bu yorumumu okuyanlar hemen bana karşı çıkacaktır. Ama dediğimi biraz düşün başkalarının ne dediği veya evet sen bunu yapabilirsin şöyle kolay böyle kolay demesi değil senin bir şeyleri evet ben yapalirim ve yapacağım demen önemli bende programlama öğreniyorum ve bu işe sıfırdan başladım ve fazlasıyla yol aldım. bir C sharp kitabı aldım ve kitabın son sayfalarını açtım abuk sabuk yazılar yazıyordu bi anlam veremedim hatta korktum bile ben bunları değil anlamak zor okuyorum dedim kendime ama baştan başlayıp sindire sindire okuduğumda ve bunun üzerine alıştırmalar yapıp programlar yazdığımda aslında o kadarda zor olmadığını gördüm. Kimsenin ne dediğine bakma sen ne istiyorsan o. Sen kendini en büyük nerede görebiliyorsan oraya kadarsın...

Aslında terminolojik hata yapılmakta matematik konusunda. Bir programcı ileri düzeyde yada kendine yeteceği düzeyde matematik bilimlerinden olan mantık ve matemateği bilmek zorundadır.
Ne güzel söylemişsin matematiği kendi düzeyinde bilmek zorunda diye keşke bunu bu yorumlara cevap yazan arkadaşlarımız da bilse de saçma sapan matematik terimleri yazarak yok bu konuyu bilmelisin şu konuyu bilmelisin yazarak arkadaşın hevesini kırmasa... Adam yazılımın a'sını b'sini öğrenecek arkadaşlar. Böyle yorumlarınızla arkadaşın anca hevesini kırarsınız. Aldığı en basit yazılım kitabı bilgisayar nedir konusuyla başlar bilgisayarın yapısı ve algoritma nedir konusuyla devam eder acaba alıp hiç okumayı denediniz mi. Yok matematikte bilmem şunları bunları bileceksin yok bu düzeyde olmalısın yok şu dilden başla şu dilleri öğrenerek devam et adam merhaba dünya yazacak komut satırına bu kadar büyütmenin ne anlamı var. Sadece ve sadece kendinizi tatmin ediyosunuz. Böyle işin ehli gibi takılanlar çok var piyasada üç beş teknik terim öğrenir gelir bilmeyenlere başkasından öğrendiklerini satar. Eğer faydalı bir iş yapmak isteyen varsa adama nereden başlaması gerektiğini söyler. Bak yukarda adam kitap önermiş. Sizin gibi adamın hevesini kırmamış...
 
Bakın arkadaşlar, yazılım disiplinli ve ciddi iştir. Sadece kod yazmakla, bir yere gelinmez. Gördüklerinin algoritma nedir, vs.algoritmamı. İşlem süreci ve ya Flow chart gibi şeyler. Neden bir çok örgencinin, introduction of programming gibi derslerden kaldığını araştırdın mı hiç ?
http://uyms2015.yasar.edu.tr/2015/UYMS 2015 Proceedings/90_Deneyim.pdf , Linkte bildirim yer almakta, hem köklü firmalarda sektör deneyimim, hemde akademik deneyime sahibim. Yani burada birşeylerden bahsederken 400-500 satır kod yazıpta derleyip konuşmuyorum. Siz adamın kafasını bulandırmasanız eğer, Üste yorumda sorduduğu gibi sorsa, ben ona sistematik ve kronolojik bir sıraya göre eğitim çizelgesi yazacaktım.
 
Son düzenleme:
Türkçe yazmadığım için 2-3 gün engel yemişim. Ne saçma bir sistem bu 2-3 günde gidip Türkçe öğreneceğimi mi sanıyor yönetim? Teşvik edici değil siteye başlamadan bırakıyorum yalnız şu arkadaşın aklı karışmasın en azından.

Kısaca benden birşey olmaz diyorsunuz


Programcılıktan soğuyorum bu gidişle Mat yoksa yazılımcılıkta yok diyorsunuz

90 bin öğrenci olan devlet üniversitesinin tüm yazılım işlerini yapan ekipte çalışıyorum o arkadaşın salladığı hiçbir şey bizim ihtiyaç duyduklarımız arasında değil. matematikel hesaplar falan filan bunu yazılımı geliştiren adam yapmıyor. senin yapacağın veriyi alıp üzerinde işlem yapıp kaydetmek. bunun içinde olabildiğince esnek olman gerekiyor. tarihi eser seviyesinden ileri gidememiş bir programlama dilini öğrenirsen belki dediği gibi tüm amele işini kendin yapman gerekebilir. c# gibi modern bir dil öğrenirsen saçma sapan ıvır zıvır ile uğraşmadan ileri seviye yazılım geliştirebilirsin.

daha önce dediğim gibi matematik öğren diyen adam yazılım geliştirirken bunun nerede lazım olacağını açık açık yazması gerekir. bir yazılımın etkili, hızlı ve güvenli olması için matematiğe ihtiyaç yoktur yazılımı mümkün olduğunca fazla test etme ihtiyacı vardır.
 
Ya bu işi gerçekten bilenlerden yardım istiyorum denileni yapacağım eğer yardımcı olursanız
Sen bir kitap al ve başla bu iş anlatıldığı gibi değil burada verilen cevaplarla sadece hevesin kırılır ve hiç düşünmeden seni yapacağın işten soğuturlar. Sadece yaptıkları işin ne kadar mükemmel olduğunu sivri bir dille anlayışsızca ifade ederler. Birilerini birşeyler sorarsın peki neden birşeyler sorduğunu merak ettinmi kendine bunu cevabını verebilirmisin..Ben söyleyeyim sana çünkü bunu yapabilirsin cümlesini başkasından duymak seni rahatlatacak ve memnun edecektir.Bu yorumumu okuyanlar hemen bana karşı çıkacaktır. Ama dediğimi biraz düşün başkalarının ne dediği veya evet sen bunu yapabilirsin şöyle kolay böyle kolay demesi değil senin bir şeyleri evet ben yapalirim ve yapacağım demen önemli bende programlama öğreniyorum ve bu işe sıfırdan başladım ve fazlasıyla yol aldım. bir C sharp kitabı aldım ve kitabın son sayfalarını açtım abuk sabuk yazılar yazıyordu bi anlam veremedim hatta korktum bile ben bunları değil anlamak zor okuyorum dedim kendime ama baştan başlayıp sindire sindire okuduğumda ve bunun üzerine alıştırmalar yapıp programlar yazdığımda aslında o kadarda zor olmadığını gördüm. Kimsenin ne dediğine bakma sen ne istiyorsan o. Sen kendini en büyük nerede görebiliyorsan oraya kadarsın...


Ne güzel söylemişsin matematiği kendi düzeyinde bilmek zorunda diye keşke bunu bu yorumlara cevap yazan arkadaşlarımız da bilse de saçma sapan matematik terimleri yazarak yok bu konuyu bilmelisin şu konuyu bilmelisin yazarak arkadaşın hevesini kırmasa... Adam yazılımın a'sını b'sini öğrenecek arkadaşlar. Böyle yorumlarınızla arkadaşın anca hevesini kırarsınız. Aldığı en basit yazılım kitabı bilgisayar nedir konusuyla başlar bilgisayarın yapısı ve algoritma nedir konusuyla devam eder acaba alıp hiç okumayı denediniz mi. Yok matematikte bilmem şunları bunları bileceksin yok bu düzeyde olmalısın yok şu dilden başla şu dilleri öğrenerek devam et adam merhaba dünya yazacak komut satırına bu kadar büyütmenin ne anlamı var. Sadece ve sadece kendinizi tatmin ediyosunuz. Böyle işin ehli gibi takılanlar çok var piyasada üç beş teknik terim öğrenir gelir bilmeyenlere başkasından öğrendiklerini satar. Eğer faydalı bir iş yapmak isteyen varsa adama nereden başlaması gerektiğini söyler. Bak yukarda adam kitap önermiş. Sizin gibi adamın hevesini kırmamış...

Çok sağolun bir anda bütün hevesim gittiydi ama bu yorumunuz ümidimi tekrar yerine geldi artık bu iş için günlük saat ayıracağım ve çalışmaya devam edeceğim ilk başta bu işin raconunu öğrenip sonraya doğru daha iyi şeyler yapmayı istiyorum

Türkçe yazmadığım için 2-3 gün engel yemişim. Ne saçma bir sistem bu 2-3 günde gidip Türkçe öğreneceğimi mi sanıyor yönetim? Teşvik edici değil siteye başlamadan bırakıyorum yalnız şu arkadaşın aklı karışmasın en azından.



90 bin öğrenci olan devlet üniversitesinin tüm yazılım işlerini yapan ekipte çalışıyorum o arkadaşın salladığı hiçbir şey bizim ihtiyaç duyduklarımız arasında değil. matematikel hesaplar falan filan bunu yazılımı geliştiren adam yapmıyor. senin yapacağın veriyi alıp üzerinde işlem yapıp kaydetmek. bunun içinde olabildiğince esnek olman gerekiyor. tarihi eser seviyesinden ileri gidememiş bir programlama dilini öğrenirsen belki dediği gibi tüm amele işini kendin yapman gerekebilir. c# gibi modern bir dil öğrenirsen saçma sapan ıvır zıvır ile uğraşmadan ileri seviye yazılım geliştirebilirsin.

daha önce dediğim gibi matematik öğren diyen adam yazılım geliştirirken bunun nerede lazım olacağını açık açık yazması gerekir. bir yazılımın etkili, hızlı ve güvenli olması için matematiğe ihtiyaç yoktur yazılımı mümkün olduğunca fazla test etme ihtiyacı vardır.
Teşekkür ederim zaten ben birazcık c# biliyorum konsol form gibi şeyleri ama Zaman'la yapmayınca bildiklerimi de unuttum artık sil baştan yeniden başlayacağım

Bakın arkadaşlar, yazılım disiplinli ve ciddi iştir. Sadece kod yazmakla, bir yere gelinmez. Gördüklerinin algoritma nedir, vs.algoritmamı. İşlem süreci ve ya Flow chart gibi şeyler. Neden bir çok örgencinin, introduction of programming gibi derslerden kaldığını araştırdın mı hiç ?
http://uyms2015.yasar.edu.tr/2015/UYMS 2015 Proceedings/90_Deneyim.pdf , Linkte bildirim yer almakta, hem köklü firmalarda sektör deneyimim, hemde akademik deneyime sahibim. Yani burada birşeylerden bahsederken 400-500 satır kod yazıpta derleyip konuşmuyorum. Siz adamın kafasını bulandırmasanız eğer, Üste yorumda sorduduğu gibi sorsa, ben ona sistematik ve kronolojik bir sıraya göre eğitim çizelgesi yazacaktım.
Sayısal bilgisi olan programlamada çıkan hataları daha hızlı bir biçimde çözer diye duyduydum ama beni yeni başlayan bir öğrenci olarak görün ve matematiği az çok biliyorum ona göre sormuştum. Direk konuya girince programlamadan soğudum :(

Aslında terminolojik hata yapılmakta matematik konusunda. Bir programcı ileri düzeyde yada kendine yeteceği düzeyde matematik bilimlerinden olan mantık ve matemateği bilmek zorundadır.
ben zaten başlangıç düzeydeyim benim bilmem gerekmiyor
 
Kardeşim soğuyacak bir durum yok. Matematiğin sana en büyük artısı soyut düşündürecek. Onun yanında uzmanlaşmayı sağlayacak. Matematiksiz bir program yazarsın ama uzmanlaşamazsın. Aynı makarnayı değişik soslarla yersin. Her gün makarna yemek, zevk verir mi sence ? Zaten sen, lisede matematik almışsındır yada alıyorsundur. Biraz daha bunların tanımlarını genişletip, nerede kullanıldığı göreceksin. Gerçek bir problemle matematiğini anlayacaksın. Bir diğer yandan programlama dili hiç bir önemi yok. Javaymış, C++, C#, lisp, F# .... Cout<<"bla bla bla" yazıryorsun ekrana cıktı veriyor. printf("bla bla bla") yazıyorsun ekrana cıktı veriyor. System.out.println("bla bla bla") yazıyorsun yine ekrana cıktı, veriyor. Fark ettiysen farklı dillerde, yazıyoruz ama, hep bize aynı sonucu veriyor. hepsinde ekranda bla bla bla yazıyor. Demek ki bizim görmediğimiz bir yerlerde hangi dille yazarsak yazalım aynı işlem yapılıyor. Demek ki arka planda bir ortak işlem var. Bizim için önemli taraf bu. Burada da ayrık matematik işimize yarayacak. Bir program geliştirme süreci, 5 adımda gerçekleşir. Bunlar, Gereksinimler -> Sistem Modellemesi-> Tasarım ve Kodlama -> Test -> Software Evolation and Maintanance (Yazılım bakımı ve gelişimi olması gerkiyor). Eğerki tavsiye uyarsan ve Yazılım Lisans eğitimi bile almadan gerekli sertifikalar ile, iyi bir yerde çalışırsın. C, C++, bir object-oriented dil dememin sebebi, C, temel eğitimi vermek. Struct - pointer bilmeyen adama, class öğretmeye başlıyorsun. Dynamic obje kullandırıyorsun. Dynamic object olduğunu bilmiyor. Bu forumdakilerin % 80 c# veri tabanı baglantısı yapabilir, ama acaba kaç kişi Mysql("","","","") mysql classından, 4 parametreli constructor çağırdığı biliyor ? üstelik objelerin, dynamic olduğu içinde ramde adreslediğini. Class, method, overload geçtim hadi onu ögretebilirsin de, en basitten Java ile yada c# ile operatör overloading ögretebilirmisin ? İşte sebebler bunlar. Ben bu şunu kesin söylüyorum ve sözüm arkasındayım. Dediklerime uyarsa, Algoritmasını kendi yazar, kendi analizi yapar. Bu adam, 3-4 proglama dili öğrendi. Sertifikası aldı, İşyeri açma belgesini aldı. Ben müsteri olarak gittim. Requirment olarak sunu söyledim. Kardeşim benim programımı kullanan kişilerin kişilik özelliklerine göre tercih kayıtlarını tutsun, aynı özellikleri taşıyan kişilere o ürünleri başta sunsun dedi (Market Basket Analysis - Sepet Analizi) sence bu adam o programı yazabilir mi ?
 
Kardeşim soğuyacak bir durum yok. Matematiğin sana en büyük artısı soyut düşündürecek. Onun yanında uzmanlaşmayı sağlayacak. Matematiksiz bir program yazarsın ama uzmanlaşamazsın. Aynı makarnayı değişik soslarla yersin. Her gün makarna yemek, zevk verir mi sence ? Zaten sen, lisede matematik almışsındır yada alıyorsundur. Biraz daha bunların tanımlarını genişletip, nerede kullanıldığı göreceksin. Gerçek bir problemle matematiğini anlayacaksın. Bir diğer yandan programlama dili hiç bir önemi yok. Javaymış, C++, C#, lisp, F# .... Cout<<"bla bla bla" yazıryorsun ekrana cıktı veriyor. printf("bla bla bla") yazıyorsun ekrana cıktı veriyor. System.out.println("bla bla bla") yazıyorsun yine ekrana cıktı, veriyor. Fark ettiysen farklı dillerde, yazıyoruz ama, hep bize aynı sonucu veriyor. hepsinde ekranda bla bla bla yazıyor. Demek ki bizim görmediğimiz bir yerlerde hangi dille yazarsak yazalım aynı işlem yapılıyor. Demek ki arka planda bir ortak işlem var. Bizim için önemli taraf bu. Burada da ayrık matematik işimize yarayacak. Bir program geliştirme süreci, 5 adımda gerçekleşir. Bunlar, Gereksinimler -> Sistem Modellemesi-> Tasarım ve Kodlama -> Test -> Software Evolation and Maintanance (Yazılım bakımı ve gelişimi olması gerkiyor). Eğerki tavsiye uyarsan ve Yazılım Lisans eğitimi bile almadan gerekli sertifikalar ile, iyi bir yerde çalışırsın. C, C++, bir object-oriented dil dememin sebebi, C, temel eğitimi vermek. Struct - pointer bilmeyen adama, class öğretmeye başlıyorsun. Dynamic obje kullandırıyorsun. Dynamic object olduğunu bilmiyor. Bu forumdakilerin % 80 c# veri tabanı baglantısı yapabilir, ama acaba kaç kişi Mysql("","","","") mysql classından, 4 parametreli constructor çağırdığı biliyor ? üstelik objelerin, dynamic olduğu içinde ramde adreslediğini. Class, method, overload geçtim hadi onu ögretebilirsin de, en basitten Java ile yada c# ile operatör overloading ögretebilirmisin ? İşte sebebler bunlar. Ben bu şunu kesin söylüyorum ve sözüm arkasındayım. Dediklerime uyarsa, Algoritmasını kendi yazar, kendi analizi yapar. Bu adam, 3-4 proglama dili öğrendi. Sertifikası aldı, İşyeri açma belgesini aldı. Ben müsteri olarak gittim. Requirment olarak sunu söyledim. Kardeşim benim programımı kullanan kişilerin kişilik özelliklerine göre tercih kayıtlarını tutsun, aynı özellikleri taşıyan kişilere o ürünleri başta sunsun dedi (Market Basket Analysis - Sepet Analizi) sence bu adam o programı yazabilir mi ?

Bu söylediklerinize kimse karşı değil fakat karşınızdaki genç bir arkadaşımız. Bu karmaşık yazılarınız arkadaşın hevesini kırmaktan öteye gidemez kendisi programlama öğrendikçe ihtiyaçları doğrultusunda bu konulara zaten girecektir. Bize düşen yazılım şirketi kurduğunda ona gerekli olanları anlatmak değil sadece ve sadece ona bir ışık yakmak. Gerisi onun gayreti ile olacak şeyler.
 
Sonuna kadar byanigli adlı arkadaşa katılıyorum.Bunlar gerçeklerdir.Sezer bey sizin yaptığınız kandırmaktan başka birşey değildir.
 
Uyarı! Bu konu 9 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Yeni konular

Geri
Yukarı