Programlama Dilleri Tanıtım Atilla Özgür
Gündem Bilgisayar üzerinde kullanılan  Programlama Dilleri  Tarihçesi Kullanım Oranları Dünyada ve Türkiyede Payları
2lik Sistem 0000 0001 0010 0011 0100 0101 0110 0111
Logic Gate Mantık Kapısı
Logic Gate Adder Mantıksal Ekleme Kapısı
Programlama Dilleri Low Level (Düşük Seviye) High Level (Yüksek Seviye)
Machine Code <ul><li>1GL 1. Nesil Dil (1 st  Generation Language)
En düşük seviye
Emirler (instructions) ,  Merkezi işlem birimi (CPU) tarafından direk işlenir. </li></ul>
Örnek <ul>[  op  |  rs |  rt |  rd |shamt| funct] <li>0  1  2  6  0  32  decimal
000000 00001 00010 00110 00000 100000  binary </li></ul>
Assembly <ul><li>2 Nesil Dil
Makine kodunun yerine daha rahat hatırlanan kelimeler
MOV AL, 61h </li></ul>
Assembly Örnek- Fibanacci <ul><li>fib:
mov edx, [esp+8]
cmp edx, 0
ja @f
mov eax, 0
ret
@@:
cmp edx, 2
ja @f
mov eax, 1
ret
@@:
push ebx
mov ebx, 1
mov ecx, 1 </li></ul>
Örnek Devamı <ul><li>@@:
lea eax, [ebx+ecx]
cmp edx, 3
jbe @f
mov ebx, ecx
mov ecx, eax
dec edx
jmp @b
@@:
pop ebx
ret </li></ul>
Programlama Dilleri Tipleri Compiled (Derlenen Diller) C,C++,Java, C#  Interpreted (Yorumlanan Diller) Javascript, PHP, Ru...
Programlama Dilleri Tipleri Statically Typed (Statik) C,Java,C# Dynamically Typed (Dinamik) Ruby,Python,Perl
Programlama Dilleri Tipleri Declarative (Ne istendiğini söylüyorsun, Nasılını Bilgisayara bırakıyorsun) Imperative (Nasıl ...
Declarative  Beyan Edilen Diller <ul><li>SQL
Functional Programming Languages
LINQ (Tam dil değil ama aynı mantıkta) </li></ul>
Functional Programming Dilleri <ul><li>ML
Scheme
Lisp
Objective Caml
Haskel
F# (.NET)
Erlang
Scala (Java)
Upcoming SlideShare
Loading in …5
×

Programlama Dilleri Tanıtım

16,733 views

Published on

Programlama Dillerini Tanıtım Sunumu

Published in: Technology
3 Comments
2 Likes
Statistics
Notes
No Downloads
Views
Total views
16,733
On SlideShare
0
From Embeds
0
Number of Embeds
95
Actions
Shares
0
Downloads
27
Comments
3
Likes
2
Embeds 0
No embeds

No notes for slide

Programlama Dilleri Tanıtım

  1. 1. Programlama Dilleri Tanıtım Atilla Özgür
  2. 2. Gündem Bilgisayar üzerinde kullanılan Programlama Dilleri Tarihçesi Kullanım Oranları Dünyada ve Türkiyede Payları
  3. 3. 2lik Sistem 0000 0001 0010 0011 0100 0101 0110 0111
  4. 4. Logic Gate Mantık Kapısı
  5. 5. Logic Gate Adder Mantıksal Ekleme Kapısı
  6. 6. Programlama Dilleri Low Level (Düşük Seviye) High Level (Yüksek Seviye)
  7. 7. Machine Code <ul><li>1GL 1. Nesil Dil (1 st Generation Language)
  8. 8. En düşük seviye
  9. 9. Emirler (instructions) , Merkezi işlem birimi (CPU) tarafından direk işlenir. </li></ul>
  10. 10. Örnek <ul>[ op | rs | rt | rd |shamt| funct] <li>0 1 2 6 0 32 decimal
  11. 11. 000000 00001 00010 00110 00000 100000 binary </li></ul>
  12. 12. Assembly <ul><li>2 Nesil Dil
  13. 13. Makine kodunun yerine daha rahat hatırlanan kelimeler
  14. 14. MOV AL, 61h </li></ul>
  15. 15. Assembly Örnek- Fibanacci <ul><li>fib:
  16. 16. mov edx, [esp+8]
  17. 17. cmp edx, 0
  18. 18. ja @f
  19. 19. mov eax, 0
  20. 20. ret
  21. 21. @@:
  22. 22. cmp edx, 2
  23. 23. ja @f
  24. 24. mov eax, 1
  25. 25. ret
  26. 26. @@:
  27. 27. push ebx
  28. 28. mov ebx, 1
  29. 29. mov ecx, 1 </li></ul>
  30. 30. Örnek Devamı <ul><li>@@:
  31. 31. lea eax, [ebx+ecx]
  32. 32. cmp edx, 3
  33. 33. jbe @f
  34. 34. mov ebx, ecx
  35. 35. mov ecx, eax
  36. 36. dec edx
  37. 37. jmp @b
  38. 38. @@:
  39. 39. pop ebx
  40. 40. ret </li></ul>
  41. 41. Programlama Dilleri Tipleri Compiled (Derlenen Diller) C,C++,Java, C# Interpreted (Yorumlanan Diller) Javascript, PHP, Ruby, Python
  42. 42. Programlama Dilleri Tipleri Statically Typed (Statik) C,Java,C# Dynamically Typed (Dinamik) Ruby,Python,Perl
  43. 43. Programlama Dilleri Tipleri Declarative (Ne istendiğini söylüyorsun, Nasılını Bilgisayara bırakıyorsun) Imperative (Nasıl yapacağına sen karar veriyorsun.)
  44. 44. Declarative Beyan Edilen Diller <ul><li>SQL
  45. 45. Functional Programming Languages
  46. 46. LINQ (Tam dil değil ama aynı mantıkta) </li></ul>
  47. 47. Functional Programming Dilleri <ul><li>ML
  48. 48. Scheme
  49. 49. Lisp
  50. 50. Objective Caml
  51. 51. Haskel
  52. 52. F# (.NET)
  53. 53. Erlang
  54. 54. Scala (Java)
  55. 55. C# - LINQ (3.0 ve 4.0 bazı özellikleri fonksiyonel programlamadan alınmıştır.) </li></ul>
  56. 56. Programlama Dilleri <ul><li>Structured - Yapısal </li><ul><li>Procedural </li></ul><li>Object Oriented – Nesneye Yönelik </li><ul><li>Class Based – Sınıf Tabanlı </li></ul></ul>
  57. 57. Algol <ul><li>1950'lerde geliştirilmiştir.
  58. 58. Bir çok dil yapısını bu dilden almıştır. </li><ul><li>B
  59. 59. Simula
  60. 60. Pascal
  61. 61. C </li></ul></ul>
  62. 62. C Programlama Dili <ul><li>1972 Dennis Ritchie , Bell Telephone Laboratories firması tarafından Unix işletim sisteminde kullanılmak üzere geliştirilmiştir. </li></ul>
  63. 63. C++ <ul><li>Statically typed – Statik Tipli
  64. 64. Free-form – Serbest Stil
  65. 65. Multi-paradigm – Birden çok paradigma
  66. 66. Derlenen
  67. 67. Bjarne Stroustrup starting in 1979 at Bell Labs
  68. 68. C Dili üstüne Ekleme
  69. 69. Daha iyi C </li></ul>
  70. 70. C++ Örnek <ul><li>#include <iostream>
  71. 71. int main()
  72. 72. {
  73. 73. std::cout << &quot;Hello, world! &quot;;
  74. 74. } </li></ul>
  75. 75. Pascal <ul><li>1970 by Niklaus Wirth
  76. 76. Imperative
  77. 77. Structured - Procedural
  78. 78. Yapısal – İşlem Tabanlı </li></ul>
  79. 79. Turbo Pascal <ul><li>Borland tarafından geliştirilmiştir.
  80. 80. Derleyicisi Anders Hejlsberg tarafından yazılmıştır.
  81. 81. IDE (Integrated Development Environment)'ların ilk örneklerindendir. </li></ul>
  82. 83. Anders Hejlsberg <ul><li>Borland Anders Hejlsberg tarafından yazılan PolyPascal derleyicisi satın almıştır. Bu derleyicinin üzerine kullanıcı arayüzü ve yazı editor'unu eklemiştir. Anders daha sonra Borland'ta çalışmaya başlamıştır.
  83. 84. Turbo Pascal tüm versiyonları ve Delphi'nin 1-3 sürümünün yazılım mimari olarak çalışmıştır. </li></ul>
  84. 85. Delphi <ul><li>Borland tarafından üretilmiştir.
  85. 86. Oracle at Delphi
  86. 87. Veritabanına için hızlı kod yazılması için üretilen bir üründür.
  87. 88. O zamanların (şimdide denilebilir) en populer veritabanı ürünü Oracle
  88. 89. Eğer oracle ile konuşmak istiyorsan delphi'ye git. </li></ul>
  89. 90. Delphi <ul><li>Delphi 1
  90. 91. 1995 16bit windows 3.1
  91. 92. İlk RAD (Rapid Application Development) ürünlerinden biri.
  92. 93. Delphi 2 (1996 , 32 bit)
  93. 94. Delphi 5 (1999)
  94. 95. Delphi 7 (2002) en çok kullanılan
  95. 96. Son sürüm Embarcadero Delphi 2010 </li></ul>
  96. 97. Java <ul><li>James Gosling 1995
  97. 98. C/C++ yapısına benzer yapıda planlanmış
  98. 99. Derlenen Dil (Compiled) (class file)
  99. 100. Write Once , Run Anywhere
  100. 101. Bir kere yaz, her yerde çalıştır
  101. 102. Dünyanın en başarılı dillerinden biri.
  102. 103. Daha iyi C++ </li><ul><li>Interfaces
  103. 104. Pointer yok </li></ul></ul>
  104. 105. Java <ul><li>Her ne kadar diğer dillerdede bu özellikler olsada , ilk popüler dil olarak aşağıdaki özellikleri ile öne çıkmıştır.
  105. 106. Sanal Makine (Java Virtual Machine)
  106. 107. Çöp Toplama (Garbage Collection)
  107. 108. C/C++ mirası </li></ul>
  108. 109. PHP <ul><li>Betik Programlama Dili (Scripting Language)
  109. 110. Web için tasarlanmıştır.
  110. 111. En çok kullanılan web programlama dillerinden biridir. (Facebook)
  111. 112. 1995
  112. 113. Procedural
  113. 114. Dynamic Typing
  114. 115. PHP 4-5 </li><ul><li>Object Oriented </li></ul></ul>
  115. 116. Javascript <ul><li>Brendan Eich tarafından Netscape şirketinde geliştirilmiştir.
  116. 117. Mocha ilk isim
  117. 118. Livescript
  118. 119. Javascript (Java'nın populeritesini almak için şanslıkla verilmiş bir isim).
  119. 120. Dünyanın en çok kullanılan dili
  120. 121. Functional Programming </li></ul>
  121. 122. Javascript Türevleri <ul><li>Bütün tarayıcılarda çalışır. </li><ul><li>Mozilla Firefox
  122. 123. Internet Explorer
  123. 124. Safari
  124. 125. Google Chrome .. </li></ul><li>Adobe script (PDF dokumanlarda)
  125. 126. Actionscript (Flash)
  126. 127. Jscript
  127. 128. Dünyanın en çok kullanılan scripting dili </li></ul>
  128. 129. Visual J++ <ul><li>Visual Studio 6.0 içinde çalışan Java
  129. 130. Microsoft tarafından Anders ile yazılan java
  130. 131. Zamanının en iyi Java IDE'lerinden birisidir.
  131. 132. COM kullandığı için Java'nın Write Once, Run Anywhere'ını bozmaktadır.
  132. 133. Sun'ın JVM yapısına uymadığı için Sun'ın Microsoft'a karşı dava açmasına neden olmuştur. </li></ul>
  133. 134. C# (Csharp) <ul><li>Daha iyi Java </li><ul><li>Value Types
  134. 135. Delegates
  135. 136. Operator Overloading
  136. 137. ... </li></ul><li>Microsoft'un Sun ile olan sorunlarından sonra ortaya çıkardığı dil.
  137. 138. Anders tarafından tasarlanmıştır. </li></ul>
  138. 139. Anders Hejlsberg <ul><li>Pascal Compiler
  139. 140. Turbo Pascal
  140. 141. Delphi
  141. 142. J++
  142. 143. WFC (Windows Foundation Classes)
  143. 144. C#
  144. 145. LINQ </li></ul>
  145. 146. F# <ul><li>Functional Programming
  146. 147. Object Oriented Programming
  147. 148. Ocaml ile uyumlu
  148. 149. Visual Studio 2010 ile dağıtılacaktır. </li></ul>
  149. 150. SQL <ul><li>Structured Query Language
  150. 151. Veritabanlarına ulaşmak için kullanılan dil.
  151. 152. Declarative
  152. 153. ISO/ANSI standart
  153. 154. Tüm veritabanları tarafından belirli bir alt kümesi desteklenir.
  154. 155. Oracle
  155. 156. SQL Server
  156. 157. DB2
  157. 158. MySQL
  158. 159. ... </li></ul>
  159. 160. SQL <ul><li>SQL bir programlama dili değildir, çünkü Turing Testini geçemez.
  160. 161. Ama dünyada en çok kullanılan dillerden biridir.
  161. 162. SELECT *
  162. 163. FROM KITAPLAR
  163. 164. WHERE FIYATI > 100.00
  164. 165. ORDER BY BASLIK; </li></ul>
  165. 166. Basic <ul><li>Beginner's All-purpose Symbolic Instruction Code
  166. 167. 1964
  167. 168. Yüksek Seviye Programlama dili </li></ul>
  168. 169. Visual Basic <ul><li>Microsoft'un en başarılı dillerinden biri.
  169. 170. Delphi'ye karşı rakip olarak çıkarılan dillerden biri.
  170. 171. RAD (Rapid Application Development)
  171. 172. En son versiyonu Visual Basic 6.0
  172. 173. Dünyanın İş Programı yazanlar tarafından en çok kullanılan dili.
  173. 174. Hala çok kullanılıyor. </li></ul>
  174. 175. Visual Basic.Net <ul><li>.NET için Visual Basic'e Nesneye yönelik programlama özellikleri eklenmiş versiyonu.
  175. 176. C# ve Visual Basic.Net , .NET platformu dilleridir.
  176. 177. Editor ve başlangıç yardımcı özellikleri çok iyidir.
  177. 178. Amerika'da .NET kullanananların %70 VB.NET kullanmaktadır. </li></ul>
  178. 179. Perl <ul><li>1987
  179. 180. CGI web programlamada en çok kullanılan dillerden biridir.
  180. 181. Özellikte l/unix üzerinde betik dili olarak kullanılır. </li></ul>
  181. 182. Python <ul><li>1989
  182. 183. Interpreted
  183. 184. Multi Programming Paradigm
  184. 185. Object Oriented
  185. 186. Functional
  186. 187. Dynamic </li></ul>
  187. 188. Ruby <ul><li>Interpreted
  188. 189. Multi Programming Paradigm
  189. 190. Object Oriented
  190. 191. Functional
  191. 192. Dynamic
  192. 193. Ruby On Rails ile populerliği çok artmıştır. </li></ul>
  193. 194. Objective-C <ul><li>IPhone programlama ile öne çıkmıştır.
  194. 195. C++ gibi C üzerine Nesneye yönelik eklemeleri olan bir dildir.
  195. 196. Apple tarafından kullanılır. Apple, IPhone,IPad kütüphaneleri bu dilde yazılmıştır.
  196. 197. Bu platformlar için Apple tarafından önerilen dildir. </li></ul>
  197. 198. Go <ul><li>2007 (Google)
  198. 199. Compiled
  199. 200. Garbage Collected
  200. 201. C/C++/C#/Java Ailesinden </li></ul>
  201. 202. Programlama Dilleri Kullanım Oranları- Tiobe Index <ul><li>1 1 Java 17.509% -2.29% A
  202. 203. 2 2 C 17.279% +1.42% A
  203. 204. 3 4 PHP 9.908% +0.42% A
  204. 205. 4 3 C++ 9.610% -0.75% A
  205. 206. 5 5 (Visual) Basic 6.574% -1.71% A
  206. 207. 6 7 C# 4.264% -0.06% A
  207. 208. 7 6 Python 4.230% -0.95% A
  208. 209. 8 9 Perl 3.821% +0.40% A
  209. 210. 9 10 Delphi 2.684% -0.03% A
  210. 211. 10 8 JavaScript 2.651% -0.96% A
  211. 212. 11 11 Ruby 2.327% -0.27% A
  212. 213. 12 32 Objective-C 1.970% +1.79% A
  213. 214. 13 - Go 0.921% +0.92% A
  214. 215. 14 15 SAS 0.769% -0.03% A
  215. 216. 15 13 PL/SQL 0.737% -0.31% A
  216. 217. 16 22 MATLAB 0.661% +0.20% B
  217. 218. 17 17 ABAP 0.639% +0.00% B
  218. 219. 18 16 Pascal 0.603% -0.13% B
  219. 220. 19 19 ActionScript 0.594% +0.11% B
  220. 221. 20 27 Fortran 0.563% +0.24% B </li></ul>
  221. 222. Popularity-Yahoo Arama Sonuçları ile
  222. 223. Yılın Programlama dili - Tiobe Yıl Kazanan 2009 Go 2008 C 2007 Python 2006 Ruby 2005 Java 2004 PHP 2003 C++
  223. 224. Programlama Dilleri Tipler Kategori Mart 2010 Delta Mart 2010 Nesneye Yönelik 53.6% -2.7% Procedural 41.8% +2.5% Fonksiyonel 2.9% -0.4% Mantıksal 1.7% +0.6% Kategori Mart 2010 Delta Mart 2010 Statik Tip 59.8% +0.6% Dinamik Tip 40.2% +0.6%
  224. 225. Programlama Dilleri Populerlik Türkiye <ul><li>Her ne kadar C/C++ dünyada çok kullanılan diller olsada, türkiyede savunma sanayi haricinde kullanımları sınırlıdır.
  225. 226. Visual Basic.Net dünyada en çok kullanılan .NET dillerinden biride olsa, Türkiyede universite eğitimi sırasında C tipi diller (C/C++/Java/C#) verildiği için, C# Türkiyede daha popülerdir. </li></ul>
  226. 227. Referanslar <ul><li>http://en.wikipedia.org/wiki/Categorical_list_of_programming_languages
  227. 228. http://en.wikipedia.org/wiki/Low-level_programming_language
  228. 229. http://en.wikipedia.org/wiki/ALGOL
  229. 230. http://en.wikipedia.org/wiki/JavaScript
  230. 231. http://en.wikipedia.org/wiki/Pascal_(programming_language
  231. 232. http://en.wikipedia.org/wiki/Turbo_Pascal
  232. 233. http://en.wikipedia.org/wiki/Anders_Hejlsberg
  233. 234. http://en.wikipedia.org/wiki/C_(programming_language
  234. 235. http://en.wikipedia.org/wiki/Java_(programming_language
  235. 236. http://en.wikipedia.org/wiki/Embarcadero_Delphi
  236. 237. http://en.wikipedia.org/wiki/Anders_Hejlsberg
  237. 238. http://en.wikipedia.org/wiki/F_Sharp_(programming_language </li></ul>
  238. 239. Referanslar 2 <ul><li>http://en.wikipedia.org/wiki/PHP
  239. 240. http://news.cnet.com/Sun-settles-with-Microsoft,-announces-layoffs/2100-1014_3-5183848.html
  240. 241. http://en.wikipedia.org/wiki/Visual_J%2B%2B
  241. 242. http://en.wikipedia.org/wiki/J_Sharp
  242. 243. http://en.wikipedia.org/wiki/SQL
  243. 244. http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
  244. 245. http://en.wikipedia.org/wiki/BASIC
  245. 246. http://en.wikipedia.org/wiki/Visual_Basic
  246. 247. http://en.wikipedia.org/wiki/Visual_Basic_.NET
  247. 248. http://en.wikipedia.org/wiki/Perl
  248. 249. http://en.wikipedia.org/wiki/Python_(programming_language
  249. 250. http://en.wikipedia.org/wiki/Ruby_(programming_language </li></ul>
  250. 251. Referanslar 3 <ul><li>http://langpop.com/
  251. 252. http://en.wikipedia.org/wiki/Oracle_at_Delphi
  252. 253. http://golang.org/
  253. 254. http://en.wikipedia.org/wiki/Go_(programming_language </li></ul>

×