- 16 Tem 2016
- 1,637
- 288
Programlama nedir?
Programlama, belirli bir dil veya bir yazılım ile bir bilgisayarın, bir makinenin yapmasını istediğimiz işlemleri yaptırmamıza denmektedir. Bu belirli dil nedir?
Bu belirli dil, günümüzde çok oldukça artmış olsa da en sonunda donanımın anlayacağı dile çevrilmektedir.
Donanım Dili bir diğer ismi Makine dili, 0/1'lerin oluşturduğu, 0'ın düşük voltaj 1'in yüksek voltaj olduğu donanımsal olarak haberleşme dilidir. Örnek bir makine dili kodu aşağıda belirtilmiştir :
Makine Talimatı | Makine Operasyonu |
---|---|
00000000 | Programın durması |
00000001 | Ampulü tamamen aç |
00000010 | Ampulü tamamen kapat |
00000100 | Ampulü %10 karart |
00001000 | Ampulü %10 aydınlat |
00010000 | Ampul tamamen açıksa sonraki talimatı atla |
00100000 | Ampul tamamen kapalıysa sonraki talimatı atla |
01000000 | Programın başına git (adres 0) |
01010100 01010101 01010010 01001011 01001000 01000001 01000011 01001011 01000101 01010100 01000001 01001101 00101110 01001111 01010010 01000111 00100000 01011000 01000001 01010110 01001001 01000101 01010010 00100000 01000101 01000011 01001011 01000101 01010010 01010100
3 Kelime için bu kadar 0/1 gerekiyorsa programlar için yazılan 0/1'lerin ne kadar çok olduğunu hayal edin.
Assembly Hello World uygulaması :
Kod:
section .data
hello: db 'Hello, World!',10 ; 'Hello, World!' plus a linefeed character
helloLen: equ $-hello ; Length of the 'Hello world!' string
section .text
global _start
_start:
mov eax,4 ; The system call for write (sys_write)
mov ebx,1 ; File descriptor 1 - standard output
mov ecx,hello ; Put the offset of hello in ecx
mov edx,helloLen ; helloLen is a constant, so we don't need to say
; mov edx,[helloLen] to get it's actual value
int 80h ; Call the kernel
mov eax,1 ; The system call for exit (sys_exit)
mov ebx,0 ; Exit with return "code" of 0 (no error)
int 80h;
1951 – Regional Assembly Language
1952 – Autocode
1954 – IPL
1955 – FLOW-MATIC
1957 – FORTRAN (İlk yüksek düzey programlama dili ve ilk derleyiciye sahip dil)
1957 – COMTRAN
1958 – LISP
1958 – ALGOL 58
1959 – FACT
1959 – COBOL
1959 – RPG
1960 – ALGOL 60
1962 – APL
1962 – Simula
1962 – SNOBOL
1963 – CPL (C dilinin öncülerinden biri)
1964 – Speakeasy
1964 – BASIC
1964 – PL/I
1966 – JOSS
1966 – MUMPS
1967 – BCPL (C dilinin öncülerinden biri)
1967 – Logo
1967 – BCPL (B dilinin öncülerinden biri)
1968 – Logo
1969 – B (C dilinin öncülerinden biri)
1970 – Pascal
1970 – Forth
1972 – C *
1972 – Smalltalk
1972 – Prolog
1973 – ML
1975 – Scheme
1978 – SQL (Sorgu Dili) *
1980 – C++ (C Dilinden esinlenerek Class yapılarının olduğu programlama dili.)
1983 – Ada
1984 – Common Lisp
1984 – MATLAB
1984 – dBase III, dBase III Plus
1985 – Eiffel
1986 – Objective-C
1986 – LabVIEW
1986 – Erlang
1987 – Perl
1988 – ***
1988 – Tcl
1988 – Wolfram Language
1989 – FL (Backus)
1990 – Haskell
1990 – Python *
1991 – Visual Basic *
1993 – Lua
1993 – R *
1994 – CLOS
1995 – Ruby *
1995 – Ada 95
1995 – Java *
1995 – Delphi (Object Pascal)
1995 – JavaScript *
1995 – PHP
1996 – OCaml
1997 – Rebol
2000 – ActionScript
2001 – C# *
2001 – D
2002 – Scratch
2003 – Groovy
2003 – Scala
2005 – F#
2005 – HolyC
2006 – PowerShell
2007 – Clojure
2008 – Nim
2009 – Go *
2011 – Dart *
2011 – Kotlin *
2012 – Julia
2012 – TypeScript *
2012 – Elm
2012 – Elixir
2014 – Swift *
2015 – Rust *
2015 – Raku
2019 – Bosque
2021 – Microsoft Power Fx
1952 – Autocode
1954 – IPL
1955 – FLOW-MATIC
1957 – FORTRAN (İlk yüksek düzey programlama dili ve ilk derleyiciye sahip dil)
1957 – COMTRAN
1958 – LISP
1958 – ALGOL 58
1959 – FACT
1959 – COBOL
1959 – RPG
1960 – ALGOL 60
1962 – APL
1962 – Simula
1962 – SNOBOL
1963 – CPL (C dilinin öncülerinden biri)
1964 – Speakeasy
1964 – BASIC
1964 – PL/I
1966 – JOSS
1966 – MUMPS
1967 – BCPL (C dilinin öncülerinden biri)
1967 – Logo
1967 – BCPL (B dilinin öncülerinden biri)
1968 – Logo
1969 – B (C dilinin öncülerinden biri)
1970 – Pascal
1970 – Forth
1972 – C *
1972 – Smalltalk
1972 – Prolog
1973 – ML
1975 – Scheme
1978 – SQL (Sorgu Dili) *
1980 – C++ (C Dilinden esinlenerek Class yapılarının olduğu programlama dili.)
1983 – Ada
1984 – Common Lisp
1984 – MATLAB
1984 – dBase III, dBase III Plus
1985 – Eiffel
1986 – Objective-C
1986 – LabVIEW
1986 – Erlang
1987 – Perl
1988 – ***
1988 – Tcl
1988 – Wolfram Language
1989 – FL (Backus)
1990 – Haskell
1990 – Python *
1991 – Visual Basic *
1993 – Lua
1993 – R *
1994 – CLOS
1995 – Ruby *
1995 – Ada 95
1995 – Java *
1995 – Delphi (Object Pascal)
1995 – JavaScript *
1995 – PHP
1996 – OCaml
1997 – Rebol
2000 – ActionScript
2001 – C# *
2001 – D
2002 – Scratch
2003 – Groovy
2003 – Scala
2005 – F#
2005 – HolyC
2006 – PowerShell
2007 – Clojure
2008 – Nim
2009 – Go *
2011 – Dart *
2011 – Kotlin *
2012 – Julia
2012 – TypeScript *
2012 – Elm
2012 – Elixir
2014 – Swift *
2015 – Rust *
2015 – Raku
2019 – Bosque
2021 – Microsoft Power Fx
Bu dillerin öğrenilmesinin çok zor olduğundan sadece teorik temel bilgimizin olması yeterlidir. Şimdi Günümüzde kullanılan programlama dillerinden bahsedelim. Bakalım hangi alanlar sizlerin dikkatinizi çekecek, sizleri cezbedecek.
Öncelikle programlama dili seçiminden bağımsız olan bir konuyu yani Algoritma ve Veri yapıları konusunu her yazılımcı bilmelidir. Burada programlama dilinden bağımsız olmasının sebebi veri tiplerinin, algoritma metotlarının çoğu programlama dillerinde aynı olmasıdır. Şimdi bir fibonacci dizesinin farklı programlama dillerindeki kodlamasına bakalım.
C:
#include <stdio.h>
int main() {
int a=15, ilkSayi=0, ikinciSayi=1;
for(int i=1;i<a;i++){
printf("%d ",ilkSayi);
int temp=ilkSayi+ikinciSayi;
ilkSayi = ikinciSayi;
ikinciSayi=temp;
}
return 0;
}
C#:
using System;
public class HelloWorld
{
public static void Main(string[] args)
{
int a=15, ilkSayi=0, ikinciSayi=1;
for(int i=0;i<a;i++)
{
Console.Write(ilkSayi+ " ");
int temp= ilkSayi+ikinciSayi;
ilkSayi=ikinciSayi;
ikinciSayi=temp;
}
}
}
Java:
class HelloWorld {
public static void main(String[] args) {int a=15, ilkSayi=0, ikinciSayi=1;
for(int i=0;i<a;i++)
{
System.out.print(ilkSayi+ " ");
int temp= ilkSayi+ikinciSayi;
ilkSayi=ikinciSayi;
ikinciSayi=temp;
}
}
}
C++:
#include <iostream>
using namespace std;
int main() {
int a=15, ilkSayi=0, ikinciSayi=1;
for(int i=1;i<a;i++){
cout << ilkSayi << ", ";
int temp=ilkSayi+ikinciSayi;
ilkSayi = ikinciSayi;
ikinciSayi=temp;
}
return 0;
}
Python:
a,ilkSayi,ikinciSayi = 15,0,1
for i in range(1,a):
print(ilkSayi, end=' ')
temp=ilkSayi+ikinciSayi
ilkSayi = ikinciSayi
ikinciSayi=temp
Baktığınızda neredeyse birebir aynı. Bu yüzden öncelikle Algoritma ve Veri yapıları öğrenilmeli. Sonrasında ise...
Programlama dilleri şuan çok gelişmiş durumda. Bir programlama dilini her alanda kullanabiliriz. Şimdi Alanlardan bahsedelim. Tabi bir çok alan var fakat ben şuan en popüler olanlardan bahsedeceğim.
Gömülü Sistem geliştiriciliği
Web-Önyüz Geliştiriciliği
Web-Arkayüz Geliştiriciliği
Veri Mühendisliği
Oyun Geliştiriciliği
Mobil Uygulama Geliştiriciliği
DevOps
Evett... Özetle sizlere bu alanı açıklamaya çalıştım. Gerisi bir alan belirlemek ve araştırmak sizlerde...
Söylediklerim haricinde bir çok alan bulunmaktadır. Konuyu okuduğunuz için teşekkür ederim. Yanlışım veya bir hatam olduysa affola...
Son düzenleme: