Kategoriler


SON YORUMLAR
Kaan çok eziksin
bsg. yazılımdan anlıyorsan bir işe gir.
İREM
Veri yapıları sınavım var..sınav süresi 30dk ve test..Veri yapılarında bilgili biri ücret karşılığında yardımcı olabilirse çok mutlu olurum..
Eray
29.8.2020 tarihli telefon numaram ile yaptığım yorum, ÖZEL DERS vermek, konu anlatımı yapmak veya freelancer olarak yazılım projelerinde yazılımcı olarak çalışmak içindir. Ödev yaptırmak, sınava girmek gibi isteklere geri dönüş yapmıyorum.
Tatar Ramazan
CLASS (Inheritance, abstract, interface, static) Kurallar: 1- Abstract ve interface classlarda new ile obje oluşturulamaz. Bu kural static sınıflar için de geçerlidir. 2- Statik metotlardan yalnızca statik değişken ve metotlar çağırılır. 3- Sınıfın tüm objeleri statik alanın aynı değerini paylaşır. 4- Sınıftan her obje oluştuğunda statik değişken değeri sıfırlanmaz kaldığı yerden devam eder. 5- Statik alana sınıftan obje oluşturmadan direk ulaşılabilir. 6- Statik değişken her zaman bir değere sahiptir. Nümerik değerler için değer atanmadıysa değeri sıfırdır. 7- Virtual metod, abstract ya da static olamaz. 8- Bir metod ya da properties override edilirken tipi değiştirilmez. 9- Türetilen sınıfta metod override edilmemişse ana sınıftaki içerik geçerli olur. 10- Bir interface uygulayan metod public olmalıdır. 11- Static metod abstract, virtual, override olamaz. 12- Properties?ler abstract ya da virtual olabilir. 13- Türetilen sınıf ana sınıftaki tüm abstract metodları uygulamazsa o da abstract olmalıdır. 14- Abstract metod içeren sınıf da abstract olmalı. 15- Abstract metod otomatikman virtual olur. 16- Türetilen sınıf abstract classtaki tüm metodları uygulamalıdır. 17- Virtual metod birden fazla türetilen sınıfta yeniden tanımlanabilir. 18- Bir sınıf birden fazla interface?i aralarına virgül konularak kullanabilir. 19- Interface tek başına hiçbir uygulama sağlamaz. 20- Abstract metod gövde içermez ve ana sınıf tarafından uygulanamaz. 21- Abstract sınıf içinde statik ya da virtual metod tanımlanabilir. 22- Bir interface metod uygulanırken public değilse başına tanımlandığı interface koyulur. 23- Protected tanımlanan field?a sadece türev sınıf içinden erişilir. 24- Fields (alanlar) virtual ya da abstract olamaz. 25- Interface?ler fields içermez. Properties içerebilir. 26- Bir constructor base ile miras alıyorsa hem aldığı mirası hem kendi içindekini uygular. İçi boşsa yalnızca kalıtım aldığını uygular. Miras alırken de derived (türetilen) classtaki parametre değerini esas alır. 27- Interface metod implemente edilirken override yazılmaz. Override virtual ya da abstract metodlar uygulanırken kullanılır.
World
Hello PIO
PIO
hello world
Tatar Ramazan
2009-10 yıllarında millet maaşını yazardı yüksek miktarlar alırlardı şimdi kimse yazmıyor zavallılar sürünüyorlar. Yanlışsam, durumunuz iyiyse çıkın yanlışlayın beni. Az bir kısmınız mutlu olacak diğerleri kıvransın dursun.
Tatar Ramazan
çok para bayılacaklar osuracaklar, sıçacaklar size zort zort zort...muhahah, puahahah...
tatminsiz
10.000 tl den aşağı çalışmam.

java ve c# ı yalayıp yuttum mssql oracle pl sql ibm db2 biliyorum. projeler yaptım kaç para alcam?
memnun
Muhasebe bölümünden bilişime geçtim 2 ay geride kaldım şimdi geri muhasebeye nakîl verdim ama bu parayı duyunca çallşmaya başladım
muhendis
Eskidendi o çok eskiden..mühendisler artık aç..4 yıllık mühendisim aldığım ücret 5000 tl...
cengiz
Ben de bilmiyorum faidesini...
orhon
ilk önce sql sonra t-sql

Bilgisayar Mühendisleri
Here is the website inspired me to use 
it as a guide when I tried to define 
myself as an engineer candidate a few 
years ago. It really helped me to work
 and study feeling in confidence with 
being on the right way. I suggest this 
website to whom it may direct her/his 
to find the right career path. It 
includes many articles varies from 
real life experiences to detailed 
software engineering issues. But the 
most dignified parts for me are the 
articles in general and career titles.
Son okunan makaleler:
Kim neyi niye seçer? Java mı c# mı? Oracle vs SqlServer?
Para ile ödev yapmak üzerine
Bilgisayar Mühendisleri Kaç Para Alır?
Bilgisayar Mühendisleri Kaç Para Alır?
Online Java Dersleri - Java NEDİR?
Bilgisayar Mühendisleri Kaç Para Alır?
Bilgisayar Mühendisleri Kaç Para Alır?
Askerlik ve Bilgisayar Mühendisliği
Programcı Gözüyle iPhone OS ve Android Karşılaştırması
İSTANBUL İSTANBUL İSTANBUL
Bilgisayar Mühendisleri Kaç Para Alır?
Online Java Dersleri - Java NEDİR?
Online Java Dersleri - Java NEDİR?
Online Java Dersleri - Java NEDİR?
Bilgisayar Mühendisleri Kaç Para Alır?
Para ile ödev yapmak üzerine
NHibernate ile ORM'e Giriş
Bilgisayar Mühendisleri Kaç Para Alır?
Steve Jobs ve Türkiye...
Askerlik ve Bilgisayar Mühendisliği

Bilgisayar Mühendisleri Portalı

Kim neyi niye seçer? Java mı c# mı? Oracle vs SqlServer?

Bilgisayar mühendisliğini yeni kazanmış bir çok öğrenci, 2. 3. hatta 4. sınıf öğrencileri hangi alana kayacaklarını bilemiyorlar. Hangi yazılım dilini öğrenmesi gerektiğini ya da hangi database'i öğrenmesi gerektiğini bilmiyor ve bocalıyorlar. Hatta internet ile ilgili yazılım dili mi yoksa desktop uygulamaları ile ilgili yazılım dillerini mi öğrenmeleri gerektiği konularında çok sıkıntı yaşıyorlar. 

Malesef üniversitedeki hocalar her nekadar MIT vs. gibi amerikan üniveristlerin bile mezun olsalar bu konularda öğrencilere pek yardımcı olamıyorlar. Bunların sebeplerini sıralamak gerekirse:

1. Hocaların bu konulardaki becerisizlikleri genellikle isteksizliklerinden kaynaklanıyor. Yani öğrencileri yönlendirmekten korkuyorlar. Tabuları yıkamıyorlar ve müfredat dışına çıkamıyorlar. Müfredatlar genelde çok kolay değişmiyor, ancak devrimci hocaların devreye girmesiyle dersin içeriği öğrecilere birşeyler vermeye başlıyor. 

2. Hocaların öğrencilere fazla yardımcı olamamalarının diğer bir sebebi sektöre çok uzak olmaları. Sektöre yakın hocalar da ancak yakın oldukları firmalardaki çevreden çok fazla etkilenip sanki bu duydukları şeyleri kesin kural kabul etmeye başlıyorlar... Örneğin Java ve C++ gibi şeyleri tabu kabul ediyorlar... 

3. Genellikle öğrencileri yazılımdan hem korkutuyorlar hem soğutuyorlar. Yazılım çok kolay, ama ingilizce kavramlarla bunları korkunç zor şeylermiş gibi sunuyorlar.  


Okullarda yazılım öğretimleri çok yanlış bir şekilde başlıyor. Zaten bilgisayar mühendisliğinde bölüm dersleri genelde 3. sınıfta başlıyor... 3. sınıf çok geç!!! 3. sınıfa kadar zaten öğrencileri yetrince başı boş bırakıyorsunuz ve korkularının büyümesine sebep oluyorsunuz. Genellikle Java ve C++ derslerinde anlatılan OOP programlama dersleri yanlış tekniklerle anlatılır? ingilizce kitaplardan yanlış çevirilerle yapılan ders sonucunda öğrenciler neredeyse travma geçirirler. OOP içinde geçen Polimorfizm  vs kavramları öyle karmaşık anlatırlar ki... Bu karmaşıklığın en büyük sebeplerinden biri de öğrenciler yeterince programlama mantığını kapmadan onlara daha mükemmel programlama teknikleri anlatılmasıdır. Öğrencilere zor projeler veriyorlar. Zor proje veren hoca yücelir, zor proje veren üniversitenin adı iyiye çıkar mantığı hakim. Ama verilen projeleri öğrenciler çoğu zaman internetten indiri ve anlamadan teslim ederler. Hocalar da ödev başlıklarını aynen yabancı üniversitelerin sitelerinden alırlar. Amerika ve Kanada'da bulunan üniversitlerin verdiği yazılım ödev konularının aynısını hiç bir değişikliğe uğratmadan öğrencilere verirler. Öğretmenlerin çabalama kavramı genelde yabancı üniversitelerin ders içeriklerini kopyalamaktan geçiyor. Yaratıcı ödev verenler bir elin parmaklarını geçmiyor. Öğrenciler öğretmenlerini çok yaratıcı bulabilirler ama internet çağında basit google aramalarında herşey bulunuyor. Hocalar kendilerini yenilemeliler, ödev içeriklerini kendileri oluşturmalılar... Ders içeriğinde anlatılan şeyleri kendileri çalışıp gelmeliler... Gerekiyorsa piyasada çalışan bilgisayar mühendislerini derslerinde konuşmacı olarak getirmeliler. Bu tür şeyler öğrencileri gaza getirir. Üniversitede derse girenler ,atıyorum , C++ dersine giriyorsa önce öğrencilere C ve C++ farkını anlatmalılar. Visual C, Visual C++, Borland C, vs... gibi şeylerin ne anlama geldiğini MFC, VCL gibi kütüphanelerin amaçlarını anlatmalılar. Bunları anlatmadan OOP programlamada bisiklet/araba örneğine geçmemeliler... Database dersi verenler SQL anlatırken piyasadaki tüm databaseler olmasa da 5-6 tanesinin neler olduğunu ve ne zaman ne şekilde seçmeleri gerektiğini anlatmalılar. SQL SERVER, ORACLE, MySQL  gibi şeylerin neler olduğunu en azından bir ders anlatmalılar. Sınıflarda bu tür programların kurulumları anlatılması gerek. yani SELECT, DELETE; INSERT; WHERE GROUP BY anlatmakla database dersi geçiştirilmemeli. Stored Procedure, Fonksiyon anlatılmalı ve bunların Java, C#, ve diğer programlama toolarında kullanımı da anlatılması gerekir. Tamam herşeyi hocalar anlatamaz ama hocalar sınıflarda OOP dersinde bisiklet anlatmayı, database dersinde SQL anlatmayı bırakmalılar. Bunları yaşayan projeler içinde anlatmalılar. Bu anlatımlar sanıldığı gibi uzun şeyler değil. SQL komutları 1 günde öğrenilir/öğretilir... Daha detaylı şeyler anlatılmalı. Ole DB, ODBC anlatılmalı... Database seçimin neye göre yapılacağı öğrencilere anlatılmalı. Bu yazımızı bu konularda öğrencilere ve bu işlerden az anlayanlara biraz yardımcı olmak için yazıyorum... Sitemizin üniversite öğrencilerine yaptığı katkıyı her geçen gün görüyoruz, sizlerden bu konularda çok sayıda email geliyor. Email göndermeye devam edin...

Üniversitelerde Programlama dersleri 1. sınıfta mutlaka yoğun bir şekilde başlamalı. Artık meslek liselerinin bilgisayar bölümlerinden mezun olanlardan bir çoğu malesef bilgisayar mühendisliğinden yeni mezun olmuş kişilerin %70'inden daha fazla şey biliyor. Çünkü okulda korkutulan üniveriste öğrencileri başı boş bırakıldıkları için boş boş mezun oluyorlar. Ancak iyi yerlerde staj yapanlar ve öğrenciyken parttime çalışanlar kendini geliştirebiliyor. Bitirme projesi yaparak malesef kendinizi geliştiremezsiniz. 

OOP Seçimi? Program yazarken her zaman OOP mı yapmak zorundayız?
Hem evet hem hayır. OOP denilen şeyi gözünüde çok büyütmeyin. OOP bir kavramdır ve günümüzde hemen hemen tüm programlama dilleri OOP destekler. Yani java'yı seçerken ya da C++'ı seçerken bu diller OOP 'dır diye SEÇMEMELİYİZ. Seçiyorsak başka kriterler devreye girmelidir. Bilmeyenler tarafından animasyon ve banner programı olarak bilinen FLASH'ın dili olan Action Script bile OOP modelini kullanır. Action Script 3.0 bilenler hemen mail atabilirler, AS3'ün bazı şeyleri OOP metodları farklı diyebilirsiniz. Ama hangi dilin saf OOP olduğunu söyleyebiliriz ki. Daha doğrusu kalıtımsallıklar ya da başka kurallar dilden dile farklılık gösterebilir. Bu yüzden bir öğrenci ya da mezun bilgisayar mühendisi ben OOP biliyorum diye ortalarda dolaşmamalı zaten OOP'yı bilmelidir. Ve hangi tooların OOP desteklediğini de bilmelidir. Çünkü banner programı diye küçümsenen Flash'ın yapabileceklerini bilmeyen bilgisayar mühendisleri bir proje geldiğinde hemen JavaApplet yapalım diye bilirler. Yani bir tool bilmek yetmiyor, öğrenciyken olaibldiğince şey öğrenin, mezun olunca da öğrenmeye devam edin. Yoksa sadece java biliyorsunuz diye Applet yapamaya kalkarsanız projelerin altından kalkamazsınız. Ayrıca Java biliyorsunuz diye Applet yapıp sonra security sınırlamalarına takılabilirsiniz. Burada demek istediğim Falsh ile yapın değil... Hatta flash ile ypılan hemen her şey Javascritp/DHTML ile yapılabiliyor. Eğer Javascirpt'in gücünü bilmezseniz seçimlerinizi yine yanlış yaparsınız. Aynı şekilde Javascript'in sınırlamalarını bilmezseniz yine patlarsınız. Bu yüzden ne kadar çok şeyi detaylı öğrenirseniz o  kadar seçim şansı yapma şansınız artar... 

Konu dağılmadan gelelim en popüler 2 soruya: 

C# mı ? JAVA mı?
Dünyada sadece bu ikisi yok, başka bir sürü şey var. Ama varsayalım sadece ikisi var. Yine saçma bir soru olur çünkü hangi projeyi ne amaçla hangi bütçeye göre yapacağınıza göre bu sorunun cevabı iş hayatınca çok büyük farklılıklar gösterir... Ayrıca soru C# mı Java mı olmamalı yanına bir çok tool da eklenmelidir. Yapacağınız projeye ve çevre faktörlerine göre seçiminiz yapmalaısınız. Bunlar şunlar...

1. Proje ne projesi? 
2. Bütçeniz ne kadar? 
3. Elinizdeki elemanlar hangilerini biliyor?
4. Birilerini etkilemeniz gerekecek mi? 
5. Süre ne kadar?
6...

Proje ne projesi? 
İnternet bankacılığı gibi bir internet uygulaması mı yoksa bir desktop uygulama mı? Genelde bir projeler tek bir tool kullanarak yapılıyor sanabilirsiniz. Ama her zaman öyle olmuyor. Bazen hem masaüstü program yazmanız hem internet uygulamaları yapmanız hem de mobil uygulamalar yapmanız gerekebilir. Buna göre de ihtiyaçlar değişir. Eskiden Java ilk çıktığında çok havalıydı özellikle kurumsal firmalar arasında... Özellikle enterprise uygulamalar geliştirmek için java tercih edilirdi. (niye bilen yok, sadece havalı!, sorsak bir sürü şey anlatırlar ama!!!) Ancak microsoft .NET çıkardıktan sonra özellikle C# çıkardıktan sonra özellikle üniversite öğrencileri arasında popüler oldu daha sonra bu kurumsal firmalara da sıçradı. Özellikle C# ile daha hızlı projeler geliştirebilmek bu etkiyi tetikledi.  Size tavsiyem hem java hem C# öğrenin sanıldığı gibi zor değil. her ikisiyle de projeler yapın. 

ORACLE vs SQL SERVER
Oracle'a ihtiyacı olamayanlara bile Oracle satıyorlar, korku ve ün böyle birşey işte... Çoğu firmaya Express editionlar bile yetebilecekken Oracle ve Sql server diye tutturmanın bir anlamı yok. Ama size tavsiyem SQL server kullanmanız ve öğrenmeniz. Zaten Oracle kullanan büyük firmalar oracle admini istihdam ediyorlar. sıkışırsanız ondan yardım istersiniz ama SQL server bilmiyorum ya da şunu yapamadım derseniz küçük düşme ihtimaliniz var... Ama her iki ile de proje geliştirmiş olmak size daha çok şey katacaktır ve CV yazarken daha güzel duracaktır... Ayrıca Accsess 'i de öğrenmeden geçmeyin. Excel'den veri okumayı database teknikleriyle öğrenin... Excel'i bilmek ilerde bir çok iş yaparken size kolaylık sağlayacaktır.  Çünkü müşterileriniz çoğu bilgiyi excel'de verecekler size...

Yani kısaca hangisini öğreneyim diye sormayın. Hepsini öğrenin girdiğiniz işlerde hangi kullanılıyorsa onu kullanmaya devam edin. 

Bu arada programlama öğrenirken sadece tek bir dala yönelmeyin. Yani sadece internet programcılığını öğrenmeye kalmayın. Bol bol Desktop programları da yapın. Aynı şekilde sadece Desktop programcılık yapmayın internet programcılığı da yapın. Cep telefonunuz için uygulamalar da geliştirin. büyük firmaların yazdığı ürünleri mutlaka iyice incleyin. Photoshop öğrenin, Fireworks, Flash öğrenin. MS Office içinde gelen bir çok uygulama var bunları iyice incleyin. Bu incelemeleri bir bilgisayarcı gözüyle yapın. Butonlar nereye konuyor, yazılar nereye yazılıyor, resimler nereye konuyor bunları gözlemleyin.  Programları bilgisayarcı gözüyle inceleyin. Yani araba fabrikanız olsaydu ve rakip firma yeni bir model çıkarsa hemen içine girip her yerini kapısını penceresini vitesini incelerdiniz muhtemelen. Aynı şekilde önünüze gelen programların herşeyini inceleyin. Ayarların yapıldığı yerleri, menüleri, yerleşim şekilellerini, butonlarını bile inceleyin... Bir web sitesine IE ile giriyorsanız bir de firefox ile girip bakın, ne gibi farklar oluyor. Bir web sitesinin kullanıdğı teknolaojilerin neler olduğunu incleyin, IIS mi kullanıyor Apache mi? aspx ile ypılmış web sitesinin hangi sürüm olduğunu incleyin. Wisual studio ile mi yapılmış web sitesi yoksa başka tolarla mı? bunları mutkala inceleyin...Windows 7 çıkıyor programıclara ne gibi kolaylıklar sunuyor hemen inceleyin, internet Explorer 8 çıktı hemen inceleyin, developerlara sunduğu imkanları araştırın. Araştırın ki geri kalmayın, geri kalmayın ki seçimlerinizi daha doğru kriterlere göre yapın. Teknolojinin nereye yol aldığını görüp ona göre sizde rotanızı belirleyin. 

Konu uzun ama şimdilik bu kadar başka bir yazıda görüşmek üzere... görüşlerinizi sayfaların altındaki yorum köşelerine yazabilirsiniz. ayrıca kariyer@bilgisayarmuhendisleri.com adresine göndermeye devam edebilirsiniz.

Bu makaleyi beğendin mi? Yorumunu Yaz!







Sizden Gelen Yorumlar:

Yorum Yazın

Hüseyin(17.10.2017 01:08:41)
Kafamdaki çoğu soruya cevap buldum teşekkürler...
%33 %17 %50
Katılıyorum Çekimserim Katılmıyorum



Hüseyin(7.1.2017 02:07:01)
Ben daha yeni bu işe giriyorum ve araştırıyorumda hepsini örenin yazmısın bu kadar zamanım yok ve para gerekli hepsini birden çörenemem ne önerirsin
%29 %29 %43
Katılıyorum Çekimserim Katılmıyorum



Rıza(23.11.2014 15:56:04)
Gerçekten çok iyi bir şekilde açıklamışsınız bu söyledikleriniz ile beni yönlendirmiş oldunuz kafamda çok iyi şeyler oluştu tekrar teşekkür ederim.
%30 %37 %33
Katılıyorum Çekimserim Katılmıyorum



mehmet(24.8.2013 01:12:14)
makalenizi beğendim teşekkür ederim.hocalara yüklenmişsiniz ama haklı olduğunuzu düşünmekteyim.
%56 %22 %22
Katılıyorum Çekimserim Katılmıyorum



burak(5.8.2013 02:22:55)
Merhaba
Yazını baştan sona okumaya calıştım ama aynı şeyler üzerine değinmişin. Bu genelde müfredatın yanlışlıkları ve hocaların yapmış olduğu hatalar üzerine. Başta şunu söylemem gerekiyor arkadaşlar üniversiteye başlayınca artık anne ve babanın kanatlarından kurtulup hayata kendiniz yelken açmaya başlıyorsunuz.Donanımınızı kendi ihtiyaçlarınız ya da deneme yanılma yöntemleriyle neyi olmak istediğinizi buluyorsunuz. Öncelikle mühendis olacaginizin farkinda olmalisiniz. Türev, integral ya da elektrik akımını belki hayatınızda hic kullanmayacağınızı düşünebilirsiniz ama bu kavramlar nereye giderseniz gidin hep yanı başınızdalar ve okula başladığınızda size düşünmeyi oğreten şeyler. Bu temeli aşılamadan bölümle ilgili konuları öğrenmeye çalışmak, konuları yüzysel bicimde gecmek gibi bir şey kanımca.

Programlama dilini öğrenmekten çok bilgisayar bilimleri nelerdir ne işe yararlar bunu öğrenmek gerekir görüntü işlemeyi bilmek icin sinyal işlemeyi bilmek gerekir.Sinyal işleme icinde diferansiyel denklemler ve bunun içinde temel calculus bilmek gerekir ki mufredatta bu sürecte ilerliyor ve bence doğru. Bilgisayar mühendislerine programcı diye bakılan bir ülkede yaşadığımız için direk programlama dillerine abanmamız doğal ve bilgisayar bilimlerini implementasyon sürecine girerken yazarında dediği gibi en doğru dili seçmek gerekiyor. Bunuda yaşayarak öğreniyor insan.

Halil kardeş bilgisayar tamiri bir bilgisayar muh. görevi değildir ama saten çok meraklı olursa insan onu bile yapar :)
%43 %24 %33
Katılıyorum Çekimserim Katılmıyorum



halilaksoy(26.7.2013 23:04:23)
biri yardımcı yokmu bana işsizim bu bölümü katımak istiyorum bilgisayar mühendislik tamirat öğrenmek
%11 %11 %79
Katılıyorum Çekimserim Katılmıyorum



halil(6.6.2013 15:29:47)
evet 05325902260 halil aksoy
%6 %12 %82
Katılıyorum Çekimserim Katılmıyorum



selçuk (7.8.2012 14:38:22)
sql server mı mysql mi...mysql daha kolay değil mi?hangisini öneririsniz?
%30 %25 %45
Katılıyorum Çekimserim Katılmıyorum



Hakan(5.7.2012 09:48:50)
Yazılım geliştirmeyi gerçekten derinlemesine öğrenmek istiyorsan C ve Sistem programcıları derneğine git derim. Yeri İstanbul Mecidiyeköy.de.. web adresi: csystem.org .. Bu arada yanlış anlaşılmasın benim bu kursla hiçbir bağlantım yok.. Sadece zamanında buradan kurs aldım ve çok memnun kaldım, önerimin sebebi budur. Üstelik öğrenciler için ideal.. Onlara özel indirimleri oluyor..
%37 %26 %37
Katılıyorum Çekimserim Katılmıyorum





Yazılan yorumlar tek sayfaya sığmadı. Daha fazlasını okumak için aşağıda sayfa numarasına tıklayın:
1   > 2   > 3 

Copyright© 2001-2021. Bilgisayar Mühendisleri Portalı | Bütün hakları saklıdır.