# Программалау теле

Программалау теле — программалау теле — компьютер программаларын яҙыу өсөн яһалма тел. Программалау теле программаның тышҡы ҡиәфәтен һәм уның контроле аҫтында башҡарыусы (ғәҙәттә электрон иҫәпләү машинаһы) башҡарасаҡ ғәмәлдәрҙе билдәләүсе лексик, синтактик һәм семантик ҡағиҙәләр йыйылмаһын билдәләй.
Тәүге программалаштырылған машиналар булдырылғандан алып, кешелек һигеҙ меңдән ашыу программалау теле уйлап таба (шул иҫәптән эзотерик, визуаль һәм уйын-көлкө). Йыл һайын уларҙың һаны арта бара. Ҡайһы бер телдәрҙе үҙҙәре уйлап сығарған кешеләрҙең генә ҡуллана белә, икенселәре миллионлаған кешегә билдәле була. Профессиональ программистар бер нисә программа телен белә ала.
Программалау теле компьютер программаларын яҙыу өсөн тәғәйенләнә, улар компьютерға билдәле бер иҫәпләү процесын башҡарырға, төрлө объекттар менән идара итеүҙе ойошторорға мөмкинлек биргән ҡағиҙәләр йыйылмаһы булып тора. Программалау теле тәбиғи телдәрҙән компьютерҙар менән идара итеү өсөн тәғәйенләнгән булыуы менән айырыла, шул уҡ ваҡытта тәбиғи телдәр тәү сиратта кешеләрҙең үҙ-ара аралашыуы өсөн ҡулланыла. Күпселек программалау телдәре мәғлүмәт структураларын билдәләү һәм манипуляциялау һәм иҫәпләү процесын контролдә тотоу өсөн махсус конструкциялар ҡуллана.
Ҡағиҙә булараҡ, программалау теле тел стандартының синтаксисын һәм семантикаһын формаль билдәләүсе спецификациялары аша ғына түгел, ә стандарттың кәүҙәләнештәре (тормошҡа ашырыуҙары) — программаларҙы ошо телдә тәржемә итеүҙе йәки интерпретациялауҙы тәьмин итеүсе программа ҡоралдары аша ла билдәләнә; бындай программа ҡоралдары етештереүсе, бренд һәм версия (версия), сығарылыу ваҡыты, стандартты үтәү тулылығы, өҫтәмә үҙенсәлектәр менән айырыла; телде йәки хатта уның стандартын ҡулланыу практикаһына йоғонто яһаусы ҡайһы бер хаталар йәки тормошҡа ашырыу үҙенсәлектәре булыуы мөмкин.
Программалау телдәренең күпселеге иҫәпләүҙәрҙе бойороҡ стилендә, йәғни командалар теҙеме рәүешендә тасуирлай. Шулай ҙа функциональ программалау йәки логик программалау һымаҡ ҡайһы бер телдәр тасуирлауҙың бүтән формаларын ҡуллана.

# Программалау теле
## Тарихы
### Үҫешенең башланғыс этаптары

Тәүге программалау телдәре хәҙерге электрон компьютерҙар барлыҡҡа килгәнгә тиклем үк барлыҡҡа килгән тип әйтергә була: XIX быуат башында уҡ шартлы рәүештә программалаштырылған тип атарға мөмкин булған ҡоролмалар уйлап табыла — мәҫәлән, металл цилиндр ярҙамында музыкаль шкатулка (һәм һуңыраҡ механик пианино) һәм ҡатырға карталар ярҙамында Жаккард туҡыу станогы (1804 йыл). Улар менән идара итеү өсөн инструкциялар йыйылмаһы ҡулланылған, уларҙы заманса классификациялау сиктәрендә предмет-йүнәлешле телдәрҙең прототиптары тип иҫәпләргә мөмкин. Леди Ада Августа (графиня Лавлейс) 1842 йылда Чарльз Баббадждың аналитик двигателе өсөн Бернулли номерҙарын иҫәпләү программаһын яҙған «тел» әһәмиәтле тип һаналырға мөмкин, ул тормошҡа ашырылһа, донъяла пар менән эшләгән беренсе механик компьютер булыр ине.
1930—1940 йылдарҙа А. Чёрч, А. Тьюринг, А. Марков алгоритмдарҙы формалаштырыу өсөн математик абстракциялар (лямбда-иҫәпләү, Тьюринг машинаһы, нормаль алгоритмдар) уйлап таба.
Шул уҡ ваҡытта, 1940-сы йылдарҙа, электр цифрлы компьютерҙар барлыҡҡа килә һәм электрон хисаплау машиналары өсөн программалауҙың тәүге юғары кимәлле теле — немец инженеры К. Цузе тарафынан 1943 йылдан 1945 йылға тиклемге осорҙа уйлап сығарылған «Plankalkül» тигән тел эшләнә.

# Программалау теле
## Java теле

Java — программалау теле һәм платформа. Java телендә программалар төҙөү өсөн күп арауыҡтар бар.
Java — Sun Microsystems (һуңыраҡ Oracle тарафынан һатып алына) компанияһында эшләп сығалырған, объектҡа йүнәлгән программалау теле. Java телендә яҙылған программалар ғәҙәттә махсус байт-кодҡа әйләндереләләр, шунлыҡтан, компьютер архитектураһына бәйһеҙ рәүештә, теләсә ҡайһы виртуаль Java-машинала башҡарыла алалар. Рәсми донъя күреү көнө — 1995 йылдң 23 майы.
Башта телгә Oak («Имән») исеме яҙылған була. Уны Джеймс Ослинг көнкүреш электрон айланмалар программалау өсөн яһай. Һөҙөмтәлә телдең исемен Javaга алыштыралар һәм клиент һәм сервер программалары яһау өсөн ҡуллана башлайҙар. Java исеме кава маркаһы хөрмәтенә бирелә, ә ҡәһүә иһә, үҙ сиратында, Һиндостан ир-аты океанындағы утрау исемен йөрөтә. Шуға күрә теленең эмблемаһы — парланып торған ҡәһүә. Башта программалау маҡсаты булған көнкүреш техникаһы үрнәге булараҡ кава-машина аллеяһына бәйле, имеш-мимештәр килеп сығышының башҡа юрамал ла бар.
Java телендә яҙылған программалар виртуаль Java-машина (JVM) башҡара торған байт-кодҡа «тәржемә» ителәләр. Java-машина — интерпретатор кебе, бай-кодты эшкәртеп, инструкцияларҙы компьютерға тапшыра.
Программаларҙың бындай юл менән эшләүе байт-кодтың компьютер архитектураһынан һәм операцион системала бәйһеҙлеген килтерә. Шуның өсөн Java-Java программа-машина булған барлыҡ йыһазларҙа ла башҡарыла ала.

# Программалау теле
## Java теле
### IntelliJ IDEA 14.1.5 интеграцияланған программалар төҙөү араһы

IntelliJ IDEA 14.1.5 арауыҡта программалар төҙөү нигеҙе — проект. Проект — файлдар төркөмө. Ул класстарҙы, ресурстарҙы, JSP-биттәрҙе берләштерә.
Файлдар модулдәрғә берләштерелә. Программала модулдәр һаны сикһеҙ булырға мөмкин. Модуль — файлдарҙы логик яҡтан бүлеү мөмкинлеғе, проекттын структур берекмәһе.
Директориялар ҡоролошо. IntelliJ IDEA 14.1.5 ҡуйыуҙан һуң ошондай директориялар ҡоролошо төҙөлә:
* bin/ — IntelliJ IDEA эшләтеп ебәреү өсөн файлдар
* help/
* jre/
* lib/
* license/
* plugins/
* redist/
* build.txt
* changest.txt
* knownissies.txt
* readme.txt

# Программалау теле
## Java теле
### IntelliJ IDEA 14.1.5 меню ҡоролошо

* file
** new project. Яңы файл тыуҙырыу
** new module. Яңы модуль тыуҙырыу
** open project. Проект асыу
** open file. файл асыу. IntelliJ IDEA файлдары киңәйтеүе .ipr аса (file name extension)
** reopen. Яңынан асыу.
** close project. Проектты ябырға.
** close active editor
** close all editors
** close all editors but active. Бөтөн тәҙрәләрҙе ябыу ләкин актив тәҙрәне япмаҫҡа
** split tab group vertically
** split tab group horizontally
** move to opposite tab group
** change tab group orientation
** settings
** template project settings
** save all
** export settings
* edit
* search
* view
* go to — навигация
** implementation
* code — код яҙыу өсөн ярҙам командалар
** implement methods
* analyze
* refactor- Рефакторинг өсөн командалар төркөмө
* build — компиляция һәм сборка өсөн командалар төркөмө
* run
* tools
* window
* help
Инструменттар панелдәре. Баш панель (tool bar).
Инструменталь тәҙрәләре (tool window).
* Хәбәрҙәр (message)
* Project тәҙрәһе проекттын иерархик ҡоролошон күрһәтеү өсөн ҡулланыла.
** Project
** Package
** J22E
** Flatten package
* commander
* find
* run
* debug
* TODO
* Status bar (статус панеле)