Chapterبەش 1 · Lectureوانە 1.2
Programming Languagesزمانەکانی بەرنامەسازی
What a programming language is, low-level and high-level languages, which languages are used for which jobs, and Python and Java side by side: static and dynamic typing, braces and indentation, fewer and more lines, the story of Java's name and Android's move to Kotlin.
چییە، و ، کام زمان بۆ کام کار بەکار دێت و Python و Java لە تەنیشت یەکەوە: و ، کەوانە و ، دێڕی کەمتر و زیاتر، چیرۆکی ناوی Java و گواستنەوەی Android بۆ Kotlin.
What you will learnچی فێر دەبیت
- Explain what a programming language is and what syntax means.
- Tell machine code, assembly language and high-level languages apart.
- Match well-known languages to the jobs they are used for.
- Compare Python and Java: typing, code blocks, length and how they run.
- Give Java's origin and the current state of Android development.
- ڕوونی بکەیتەوە چییە و واتای چییە.
- ، و لە یەک جیا بکەیتەوە.
- زمانە ناسراوەکان بەو کارانە ببەستیتەوە کە بۆیان بەکار دێن.
- Python و Java بەراورد بکەیت: ، ، درێژی و چۆن کار دەکەن.
- سەرچاوەی Java و دۆخی ئێستای دروستکردنی Android بڵێیت.
What a programming language isزمانی بەرنامەسازی چییە؟
A programming language is an artificial language for writing instructions that a computer can carry out. Like a human language it has words and grammar, but it is much smaller and much stricter.
زمانێکی دەستکردە بۆ نووسینی وەها کە بتوانێت جێبەجێیان بکات. وەک زمانی مرۆڤ وشە و ڕێزمانی هەیە، بەڵام زۆر بچووکتر و زۆر توندترە.
- Syntax — the spelling and grammar rules: which words, symbols and order are allowed. One missing bracket is enough to stop the program.
- Meaning — what each correct line makes the computer do. Every line has exactly one meaning; nothing is left to guessing.
- : یاساکانی ڕێنووس و ڕێزمان، واتە کام وشە، هێما و ڕیزبەندی ڕێگەپێدراوە. تەنها یەک کەوانەی ونبوو بەسە بۆ وەستاندنی .
- واتا: هەر دێڕێکی دروست وا لە دەکات چی بکات. هەر دێڕێک تەنها یەک واتای هەیە؛ هیچ شتێک بۆ مەزەندە نامێنێتەوە.
Here is the same one-line task — show the greeting Silav! on the screen — in four languages. The words and symbols differ, but the idea is the same. That is why the ideas you learn in one language carry over to the next.
ئەمە هەمان کاری یەک دێڕییە (پیشاندانی سڵاوی Silav! لەسەر شاشە) بە چوار زمان. وشە و هێماکان جیاوازن، بەڵام بیرۆکەکە یەکە. بۆیە ئەو بیرۆکانەی لە زمانێکدا فێریان دەبیت بۆ زمانی دواتر لەگەڵت دێن.
Python print("Silav!")
JavaScript console.log("Silav!");
C# Console.WriteLine("Silav!");
Java System.out.println("Silav!"); (inside a class and a main method)Explain the codeڕوونکردنەوەی کۆدەکە
- Lineدێڕی 4
Java needs this line to sit inside a class and a
mainmethod; you will see the whole program later in this lesson.Java پێویستی بەوەیە ئەم دێڕە لە ناو و
mainـدا بێت؛ دواتر لەم وانەیەدا هەموو دەبینیت.
Low-level and high-level languagesزمانە ئاستنزمەکان و زمانە ئاستبەرزەکان
Languages are often sorted by how close they are to the hardware. Machine code is the lowest level: the 0s and 1s that one family of CPUs understands. Just above it is assembly language, which gives each machine instruction a short name such as ADD or MOV; a program called an assembler turns it into machine code. These two are the low-level languages.
زمانەکان زۆرجار بەپێی نزیکییان لە ڕیز دەکرێن. نزمترین ئاستە: ئەو 0 و 1ـانەی خێزانێکی لێیان تێدەگات. ڕێک لە سەرویەوە هەیە کە بۆ هەر ئامێر ناوێکی کورت دادەنێت، وەک ADD یان MOV؛ بە ناوی دەیکات بە . ئەم دووانە ن.
High-level languages such as Python, Java, C# and JavaScript are close to human language and maths. One line of them can become many machine instructions, and the same source code can be translated for many kinds of CPU. Almost all programs today are written in high-level languages.
وەک Python، Java، C# و JavaScript نزیکن لە زمانی مرۆڤ و بیرکاری. یەک دێڕیان دەکرێت ببێت بە چەندین ئامێر و هەمان دەکرێت بۆ زۆر جۆری وەربگێڕدرێت. ئەمڕۆ نزیکەی هەموو بە دەنووسرێن.
| Levelئاست | Machine code | Assembly language | High-level language |
|---|---|---|---|
| Looks likeشێوەی | 10001011 01000101 | ADD AX, BX | total = price * 3 |
| Easy for people?بۆ مرۆڤ ئاسانە؟ | noنەخێر | hardقورسە | yesبەڵێ |
| Runs onلەسەر چی کار دەکات | one CPU family onlyتەنها یەک خێزانی | one CPU family onlyتەنها یەک خێزانی | many kinds of computer, after translationزۆر جۆری ، دوای وەرگێڕان |
| Translated byکێ وەری دەگێڕێت | nothing: the CPU runs itهیچ: جێبەجێی دەکات | an assembler | a compiler or an interpreter یان |
A short animation that explains what low-level and high-level languages are and why most programmers use high-level ones.
ئەنیمەیشنێکی کورتە کە ڕوون دەکاتەوە و چین و بۆچی زۆربەی بەکاردەهێنن.
Whole video (2:27).
هەموو ڤیدیۆکە (2:27).
Many languages for many jobsچەندین زمان بۆ چەندین کار
There are hundreds of programming languages because programs do many kinds of jobs on many : desktop computers, phones, web browsers and embedded systems, the small computers built into watches, traffic lights and medical devices. The platform often decides the language. Here are languages you will often hear about:
سەدان هەن چونکە چەندین جۆر کار لەسەر چەندین دەکەن: سەرمێز، مۆبایل، و ، واتە ئەو بچووکانەی لەناو کاتژمێر، گڵۆپی هاتوچۆ و ئامێری پزیشکیدا دانراون. زۆرجار زمانەکە دیاری دەکات. ئەمانە ئەو زمانانەن کە زۆر ناویان دەبیستیت:
| Languageزمان | Often used forزۆرجار بۆ چی بەکار دێت |
|---|---|
| Python | data analysis, artificial intelligence, automation scripts, web servers, teachingشیکردنەوەی ، ، ، وێب، فێرکردن |
| Java | large business and bank systems, Android apps (older ones), servers, big-data toolsسیستەمی گەورەی کار و بانک، Android (بە تایبەتی کۆنەکان)، ، ئامرازەکانی گەورە |
| C# | Windows programs, games made with Unity, web services Windows، ئەو یارییانەی بە Unity دروست دەکرێن، |
| JavaScript | everything that moves on a web page in the browser; also serversهەموو ئەو شتانەی لە لە ناو دەجووڵێن؛ هەروەها |
| Kotlin · Swift | Android apps · iPhone and Mac apps Android · iPhone و Mac |
| C · C++ | operating systems, game engines, embedded systems with little memory, such as the control program of a washing machine، بزوێنەری یاری، کە کەمە، وەک کۆنترۆڵی جلشۆرێک |
| SQL · PHP | asking databases for data · building web pages on a serverپرسیارکردن لە · دروستکردنی لەسەر |
Python and Java are two of the most widely used languages today. In the 2025 Stack Overflow developer survey, about 58% of the developers who answered said they had used Python in the past year, and about 29% Java.
Python و Java دوو لە بەکارهاتووترین زمانەکانی ئەمڕۆن. لە ڕاپرسیی گەشەپێدەرانی Stack Overflow لە ساڵی 2025دا، نزیکەی 58%ـی ئەو گەشەپێدەرانەی وەڵامیان دایەوە گوتیان لە ساڵی ڕابردوودا Pythonـیان بەکار هێناوە و نزیکەی 29% Java.
Python and Java side by sidePython و Java لە تەنیشت یەکەوە
Python and Java are a useful pair to compare, because they make different choices. The table shows the main differences; the next screens explain each one in words. The Python track shows the same differences in real code in Python next to Java.
Python و Java جووتێکی باشن بۆ بەراوردکردن، چونکە هەڵبژاردنی جیاواز دەکەن. خشتەکە جیاوازییە سەرەکییەکان پیشان دەدات؛ شاشەکانی دواتر هەر یەکێکیان بە وشە ڕوون دەکەنەوە. ڕێڕەوی Python هەمان جیاوازییەکان لە کۆدی ڕاستەقینەدا لە وانەی Python لە تەنیشت Javaـەوە پیشان دەدات.
| Featureتایبەتمەندی | Python | Java |
|---|---|---|
| How it runsچۆن کار دەکات | usually called interpreted: the interpreter compiles the code to bytecode by itself and runs it at onceزۆرجار پێی دەوترێت ئینتەرپرێتکراو: خۆی کۆدەکە دەکات بە و یەکسەر جێبەجێی دەکات | usually called compiled: you compile first (javac) to bytecode, then the Java virtual machine runs itزۆرجار پێی دەوترێت کۆمپایلکراو: سەرەتا خۆت کۆمپایلی دەکەیت (javac) بۆ ، پاشان Java جێبەجێی دەکات |
| Typesجۆرەکان | dynamic typing | static typing |
| Code blocks | marked by indentationبە دیاری دەکرێن | marked by curly braces { }بە کەوانەی { } دیاری دەکرێن |
| Lengthدرێژی | fewer lines of code for the same jobدێڕی کەمتر بۆ هەمان کار | more lines of code for the same jobدێڕی زیاتر بۆ هەمان کار |
| Popular forبەناوبانگە بۆ | web back ends, science and numbers, machine learning, AI, the Internet of Things وێب، زانست و ژمارە، ، ، | desktop programs with windows, embedded systems, web and mobile applications سەرمێز کە پەنجەرەیان هەیە، ، وێب و مۆبایل |
Python and Java side by sidePython و Java لە تەنیشت یەکەوە
Interpreted or compiled?ئینتەرپرێتکراو یان کۆمپایلکراو؟
Python and Java side by sidePython و Java لە تەنیشت یەکەوە
Static and dynamic typingجۆرداریی جێگیر و جۆرداریی ناجێگیر
Every value has a type: a whole number, a number with a decimal point, text and so on. Languages differ in when they check that values are used with the right type.
هەموو جۆرێکی هەیە: ، ، دەق و هتد. زمانەکان جیاوازن لەوەی کەی دەپشکنن کە بە جۆری دروست بەکار هاتوون.
- Static typing (Java, C#): you declare the type of each variable before using it, for example
int age. The compiler checks every use before the program runs and refuses text in that variable. - Dynamic typing (Python, JavaScript): you do not declare types. A variable is a name that can point to any kind of value, and the value carries its own type. A type mistake, such as adding a number to text, appears only while the program runs.
- (Java و C#): پێش بەکارهێنانی هەر جۆرەکەی دیاری دەکەیت، بۆ نموونە
int age. هەموو بەکارهێنانێک پێش جێبەجێبوونی دەپشکنێت و دەق لەو ڕەت دەکاتەوە. - (Python و JavaScript): جۆرەکان دیاری ناکەیت. ناوێکە کە دەتوانێت ئاماژە بە هەر جۆرە بکات و خۆی جۆرەکەی هەڵگرتووە. هەڵەی جۆر، وەک کۆکردنەوەی ژمارە لەگەڵ دەق، تەنها لە کاتی جێبەجێبوونی دەردەکەوێت.
Static typing is like a spice shop where every jar has a printed label, “cumin” or “sumac”, and the shopkeeper puts nothing else in it. Dynamic typing is like plain jars with a sticky note: today the note says “cumin”; tomorrow you can fill the jar with sumac and change the note.
وەک دوکانێکی بەهاراتە کە هەموو شووشەیەک نووسراوێکی چاپکراوی پێوەیە، «زیرە» یان «سماق» و دوکاندارەکە هیچ شتێکی تری تێ ناکات. وەک شووشەی ساکارە بە پەڕەیەکی لکاوەوە: ئەمڕۆ پەڕەکە دەڵێت «زیرە»؛ سبەی دەتوانیت سماقی تێ بکەیت و پەڕەکە بگۆڕیت.
Where the analogy stops workingسنووری ئەم نموونەیە
In dynamic typing the values still have types: text stays text. Only the note, the name, moves.
لە هێشتا جۆریان هەیە: دەق هەر دەقە. تەنها پەڕەکە، واتە ناوەکە، دەگوازرێتەوە.
Python and Java side by sidePython و Java لە تەنیشت یەکەوە
Braces or indentationکەوانە یان بۆشایی سەرەتای دێڕ
Programs often need a group of lines that belong together — for example the lines that run only when a student has passed. Such a group is a code block. Java, C#, JavaScript and C put a block between curly braces { }; the spaces at the start of the lines are only for people. Python has no braces: the indentation itself (usually 4 spaces) marks the block, so it is part of the syntax.
زۆرجار پێویستیان بە کۆمەڵێک دێڕ هەیە کە پێکەوە دەڕۆن، بۆ نموونە ئەو دێڕانەی تەنها کاتێک جێبەجێ دەبن کە خوێندکارێک دەرچووە. کۆمەڵێکی وەها . Java، C#، JavaScript و C دەخەنە نێوان کەوانەی { }؛ ئەو سەرەتای دێڕەکان تەنها بۆ مرۆڤن. Python کەوانەی نییە: خودی (زۆرجار 4 ) دیاری دەکات، بۆیە بەشێکە لە .
Braces (Java, C#, JavaScript, C) Indentation (Python)
if (mark >= 50) { if mark >= 50:
show "Pass" show "Pass"
show "Well done" show "Well done"
}
show "End" show "End"Explain the codeڕوونکردنەوەی کۆدەکە
- Lineدێڕی 3-5
In both styles the two
showlines belong to theif: they run only when the mark is 50 or more.لە هەردوو شێوازدا دوو دێڕی
showسەر بەifـن: تەنها کاتێک جێبەجێ دەبن کە نمرەکە 50 یان زیاتر بێت.- Lineدێڕی 7
show "End"is outside the block, so it always runs.show "End"لە دەرەوەی بلۆکەکەیە، بۆیە هەمیشە جێبەجێ دەبێت.
Python and Java side by sidePython و Java لە تەنیشت یەکەوە
Fewer lines or more linesدێڕی کەمتر یان دێڕی زیاتر
For small programs Python usually needs fewer lines than Java. Watch the same task — show “Silav!” — written in both. Python needs one line. Classic Java needs five, because every Java program lives inside a class and starts from a main method.
بۆ Python زۆرجار لە Java دێڕی کەمتری پێویستە. سەیری هەمان کار بکە (پیشاندانی «Silav!») کە بە هەردووکیان نووسراوە. Python یەک دێڕی پێویستە. Javaـی کلاسیک پێنج دێڕی پێویستە، چونکە هەموو Java لە ناو دەژی و لە mainـەوە دەست پێ دەکات.
![An animation with two panels and the task: show Silav! on the screen. The Python panel has one line: print("Silav!"). In the Java panel five lines appear one by one: public class Main {, public static void main(String[] args) {, System.out.println("Silav!");, and two closing braces. At the end both programs show Silav! — 1 line in Python, 5 lines in Java, the same output.](/_astro/prog-programming-languages-hello.en.CzcRj07S.gif)
![An animation with two panels and the task: show Silav! on the screen. The Python panel has one line: print("Silav!"). In the Java panel five lines appear one by one: public class Main {, public static void main(String[] args) {, System.out.println("Silav!");, and two closing braces. At the end both programs show Silav! — 1 line in Python, 5 lines in Java, the same output.](/_astro/prog-programming-languages-hello.ckb.BBzTJzAp.gif)
Fewer lines is not automatically better. Java's extra words make some things explicit, such as the types, and that helps large teams. Choose a language for the job, not for the line count.
دێڕی کەمتر خۆبەخۆ باشتر نییە. وشە زیادەکانی Java هەندێک شت ڕوون دەکەنەوە، وەک جۆرەکان و ئەمە یارمەتیی تیمە گەورەکان دەدات. زمان بۆ کارەکە هەڵبژێرە، نەک بۆ ژمارەی دێڕەکان.
The same 'print some text' program in Java and in Python: Java needs a class and a main method, Python one line.
هەمان بە و بە ، کە دەقێک پیشان دەدات: پێویستی بە و main هەیە، تەنها یەک دێڕ.
Watch 0:00-2:30: printing text in Java, then in Python.
لە 0:00 تا 2:30 سەیر بکە: پیشاندانی دەق بە ، پاشان بە .
Java: a short profileJava: ناساندنێکی کورت
The name. In the 1600s Dutch traders began growing coffee on the Indonesian island of Java, and later on other islands such as Sumatra and Bali, where coffee is still grown today. “Java” became an everyday English word for coffee. When a team at Sun Microsystems needed a new name for their language (first called Oak), they chose Java, after Java coffee.
ناوەکە. لە سەدەی حەڤدەدا بازرگانانی هۆڵەندی دەستیان کرد بە چاندنی قاوە لە دوورگەی Java لە ئیندۆنیزیا و دواتر لە دوورگەکانی تری وەک Sumatra و Bali، کە تا ئەمڕۆش قاوەی لێ دەچێنرێت. «java» بوو بە وشەیەکی ڕۆژانەی ئینگلیزی بۆ قاوە. کاتێک تیمێک لە Sun Microsystems ناوێکی نوێیان بۆ زمانەکەیان پێویست بوو (کە سەرەتا ناوی Oak بوو)، ناوی Javaـیان هەڵبژارد، بە ناوی قاوەی Java.
History. Java is a programming language and computing platform first released by Sun Microsystems in 1995. Oracle bought Sun in 2010 and leads Java today; new versions still come out every six months.
مێژوو. Java و کۆمپیوتەرییە کە یەکەمجار لە ساڵی 1995 لەلایەن Sun Microsystemsـەوە بڵاو کرایەوە. Oracle لە 2010دا Sunـی کڕی و ئەمڕۆ سەرپەرشتیی Java دەکات؛ نوێ هێشتا هەر شەش مانگ جارێک دەردەچێت.
Write once, run anywhere. Java code is compiled to bytecode, and any device with a Java virtual machine (JVM) can run that same bytecode — Windows, macOS, Linux, servers. This is why the report says Java code “works smoothly across platforms”.
یەک جار بنووسە، لە هەموو شوێنێک جێبەجێی بکە. کۆدی Java بۆ کۆمپایل دەکرێت و هەر ئامێرێک کە بۆ Java (JVM) لەسەر دامەزرابێت دەتوانێت هەمان جێبەجێ بکات: Windows، macOS، Linux، . بۆیە ڕاپۆرتەکە دەڵێت کۆدی Java «بە ئاسانی لەسەر کار دەکات».
Java: a short profileJava: ناساندنێکی کورت
Where Java is used todayJava ئەمڕۆ لە کوێ بەکار دێت
The course report lists gaming, instant messaging, music streaming and trading. More generally, Java runs many bank and business systems, the servers behind websites and apps, big-data tools, Android apps and games such as Minecraft: Java Edition.
ڕاپۆرتی کۆرسەکە یاری، ، گوێگرتن لە مۆسیقای ئۆنلاین و بازرگانی دەژمێرێت. بە گشتی، Java زۆر سیستەمی بانک و کار، ئەو و بەڕێوە دەبەن، ئامرازەکانی گەورە، Android و یاریی وەک Minecraft: Java Edition جێبەجێ دەکات.
Choosing a first languageهەڵبژاردنی یەکەم زمان
Which language should you learn first? The core ideas are the same in every language, so the first choice matters less than people think. Still, some languages make the first steps easier. A good first language has:
یەکەمجار فێری کام زمان ببیت؟ بیرۆکە بنەڕەتییەکان لە هەموو زمانێکدا وەک یەکن، بۆیە هەڵبژاردنی یەکەم زمان کەمتر لەوەی خەڵک بیری لێ دەکاتەوە گرنگە. لەگەڵ ئەوەشدا هەندێک زمان هەنگاوە سەرەتاییەکان ئاسانتر دەکەن. یەکەم زمانێکی باش ئەمانەی هەیە:
- Readable syntax: few symbols and rules, so you think about the problem, not the punctuation.
- Quick feedback: you can try one line and see the result at once, for example in an .
- Help when you are stuck: clear error messages and many free lessons and examples.
- Real uses: the language is used in real jobs, so what you build is useful.
- ڕوون: هێما و یاسای کەم، بۆیە بیر لە کێشەکە دەکەیتەوە نەک لە خاڵبەندی.
- وەڵامی خێرا: دەتوانیت یەک دێڕ تاقی بکەیتەوە و یەکسەر ئەنجامەکە ببینیت، بۆ نموونە لە .
- یارمەتی کاتێک گیر دەخۆیت: پەیامی هەڵەی ڕوون و چەندین وانە و نموونەی بێبەرانبەر.
- بەکارهێنانی ڕاستەقینە: زمانەکە لە کاری ڕاستەقینەدا بەکار دێت، بۆیە ئەوەی دروستی دەکەیت بەسوودە.
This course is built for more than one language. These first chapters teach the ideas without any language's code; then each technology track teaches the same ideas through one language's code. The first track is Python: it scores well on every point above, and its official FAQ answers “Is Python a good language for beginning programmers?” with “Yes”. Java or C# tracks may follow. Python's own story is told in Welcome to Python.
ئەم کۆرسە بۆ زیاتر لە یەک زمان دروست کراوە. ئەم بەشانەی سەرەتا بیرۆکەکان بەبێ کۆدی هیچ زمانێک فێر دەکەن؛ پاشان هەر ڕێڕەوێکی تەکنەلۆجی هەمان بیرۆکەکان لە ڕێگەی کۆدی یەک زمانەوە فێر دەکات. یەکەم ڕێڕەو Pythonـە: لە هەموو خاڵەکانی سەرەوەدا باشە و پرسیار و وەڵامە فەرمییەکانی Python وەڵامی «ئایا Python زمانێکی باشە بۆ نوێکان؟» بە «بەڵێ» دەداتەوە. لەوانەیە ڕێڕەوی Java یان C# دواتر بێن. چیرۆکی خودی Python لە وانەی بەخێربێیت بۆ Python گێڕدراوەتەوە.
How to choose a first language by ease of learning and real uses, and why Python is a good start.
چۆن یەکەم هەڵبژێریت بەپێی ئاسانیی فێربوون و بەکارهێنانی ڕاستەقینە و بۆچی دەستپێکێکی باشە.
Whole video (5:31): job market, ease of learning, Python, JavaScript.
هەموو ڤیدیۆکە (5:31): بازاڕی کار، ئاسانیی فێربوون، و .
Common mistakesهەڵە باوەکان
| Mistaken ideaبیرۆکەی هەڵە | What is trueڕاستییەکە |
|---|---|
| “Java and JavaScript are the same language.”«Java و JavaScript یەک زمانن.» | They are different languages with different rules and uses; only the names are similar.دوو زمانی جیاوازن بە یاسا و بەکارهێنانی جیاواز؛ تەنها ناوەکانیان لە یەک دەچن. |
| “There is one best language.”«یەک زمانی باشترین هەیە.» | Each language suits some jobs better than others. Learn one well; the ideas carry over.هەر زمانێک بۆ هەندێک کار لە هەندێکی تر گونجاوترە. یەکێک بە باشی فێر ببە؛ بیرۆکەکان لەگەڵت دێن. |
| “Python is interpreted, so it is never compiled.”«Python ئینتەرپرێت دەکرێت، کەواتە هەرگیز کۆمپایل ناکرێت.» | Python compiles source code to bytecode automatically before running it.Python پێش جێبەجێکردن بە خۆکاری بۆ کۆمپایل دەکات. |
| “Indentation in Python is only for looks.”« لە Pythonـدا تەنها بۆ جوانییە.» | It is part of the syntax: it decides which lines belong to a block.بەشێکە لە : بڕیار دەدات کام دێڕانە سەر بە بلۆکێکن. |
| “Dynamic typing means values have no types.”« واتە جۆریان نییە.» | Values always have types; only the variables are not fixed to one type. هەمیشە جۆریان هەیە؛ تەنها بە یەک جۆرەوە نەبەستراون. |
| “Android apps are written in Java.”« Android بە Java دەنووسرێن.» | Many older ones are, but since 2019 Android is Kotlin-first.زۆرێک لە کۆنەکان بەڵێ، بەڵام لە 2019ـەوە Android سەرەتا Kotlinـە. |
Exercisesڕاهێنانەکان
Say whether each line is machine code, assembly language or a high-level language: (a) ADD AX, BX (b) total = price * 3 (c) 10110000 00000101 (d) System.out.println(total);
بڵێ هەر دێڕێک ، یان : (أ) ADD AX, BX (ب) total = price * 3 (ج) 10110000 00000101 (د) System.out.println(total);
Show answerوەڵامەکە پیشان بدە
(a) assembly language — a short instruction name; (b) high-level language; (c) machine code — only 0s and 1s; (d) high-level language (Java).
(أ) : ناوی کورتی ؛ (ب) ؛ (ج) : تەنها 0 و 1؛ (د) (Java).
Suggest a suitable language for each project and give one reason: (a) a new Android app for a football club, (b) a script that renames 500 photos on a computer, (c) an app for iPhone, (d) the buttons and menus of a shop's website in the browser, (e) the control program inside a washing machine.
بۆ هەر پڕۆژەیەک زمانێکی گونجاو پێشنیار بکە و هۆیەک بڵێ: (أ) نوێی Android بۆ یانەیەکی تۆپی پێ، (ب) کە ناوی 500 وێنە لەسەر دەگۆڕێت، (ج) بۆ iPhone، (د) دوگمە و لیستەکانی دوکانێک لە ، (هـ) کۆنترۆڵی ناو جلشۆرێک.
Hintئاماژە
Look back at the table in Many languages for many jobs.
سەیری خشتەکەی چەندین زمان بۆ چەندین کار بکەرەوە.
Show answerوەڵامەکە پیشان بدە
- (a) Kotlin — Android is Kotlin-first (Java would also work).
- (b) Python — short, readable scripts for automation.
- (c) Swift — Apple's language for iPhone apps.
- (d) JavaScript — it runs in the web browser.
- (e) C or C++ — a washing machine is controlled by an embedded system with very little memory, and C and C++ make small, fast programs.
- (أ) Kotlin: Android سەرەتا Kotlinـە (Javaـش کار دەکات).
- (ب) Python: کورت و خوێنراو بۆ .
- (ج) Swift: زمانی Apple بۆ iPhone.
- (د) JavaScript: لە ناو کار دەکات.
- (هـ) C یان C++: جلشۆر بە کۆنترۆڵ دەکرێت کە زۆر کەمە و C و C++ بچووک و خێرا دروست دەکەن.
Line 1 of a program gives the variable age a whole number. Line 50 tries to add 1 to the text "twenty". When is this mistake found (a) in Java, (b) in Python?
دێڕی 1ی دەداتە age. دێڕی 50 هەوڵ دەدات 1 بخاتە سەر دەقی "twenty". ئەم هەڵەیە کەی دەدۆزرێتەوە (أ) لە Java، (ب) لە Python؟
Show answerوەڵامەکە پیشان بدە
(a) Java uses static typing, so the compiler reports the error before the program runs; nothing runs until it is fixed. (b) Python uses dynamic typing, so lines 1 to 49 run, and the program stops with a type error only when it reaches line 50.
(أ) Java بەکار دەهێنێت، بۆیە پێش جێبەجێبوونی هەڵەکە ڕادەگەیەنێت؛ تا چاک نەکرێت هیچ جێبەجێ نابێت. (ب) Python بەکار دەهێنێت، بۆیە دێڕی 1 تا 49 جێبەجێ دەبن و تەنها کاتێک دەگاتە دێڕی 50 بە هەڵەی جۆر دەوەستێت.
A classmate's poster says: “Python is interpreted and Java is pre-compiled. Java is the main language for Android.” Rewrite the poster so that it is correct in 2026.
پۆستەری هاوپۆلێک دەڵێت: «Python ئینتەرپرێت دەکرێت و Java پێشوەختە کۆمپایل دەکرێت. Java زمانی سەرەکیی Androidـە.» پۆستەرەکە بە شێوەیەک بنووسەرەوە کە لە 2026دا ڕاست بێت.
Show answerوەڵامەکە پیشان بدە
For example: “Both Python and Java compile source code to bytecode, which a virtual machine runs. In Java you compile first with javac; Python does it automatically when you run a file. Android has been Kotlin-first since 2019, and Java is still supported.”
بۆ نموونە: «Python و Java هەردووکیان بۆ کۆمپایل دەکەن و جێبەجێی دەکات. لە Javaـدا سەرەتا بە javac کۆمپایل دەکەیت؛ Python کاتێک جێبەجێ دەکەیت بە خۆکاری ئەمە دەکات. Android لە 2019ـەوە سەرەتا Kotlinـە و Java هێشتا پشتگیری دەکرێت.»
Summaryپوختە
- A programming language has syntax (rules for writing) and meaning (what each line does).
- Machine code and assembly are low-level; Python, Java, C# and JavaScript are high-level.
- Different languages suit different jobs; the core ideas are the same in all of them.
- Python: dynamic typing, indentation, fewer lines. Java: static typing, curly braces, more lines.
- Both Python and Java compile to bytecode that a virtual machine runs.
- Java: Sun Microsystems, 1995, named after Java coffee; Android has been Kotlin-first since 2019.
- (یاساکانی نووسین) و واتای (ئەوەی هەر دێڕێک دەیکات) هەیە.
- و ؛ Python، Java، C# و JavaScript .
- زمانی جیاواز بۆ کاری جیاواز گونجاون؛ بیرۆکە بنەڕەتییەکان لە هەموویاندا وەک یەکن.
- Python: ، ، دێڕی کەمتر. Java: ، کەوانەی
{ }، دێڕی زیاتر. - Python و Java هەردووکیان بۆ کۆمپایل دەکەن کە جێبەجێی دەکات.
- Java: Sun Microsystems، 1995، بە ناوی قاوەی Java ناونراوە؛ Android لە 2019ـەوە سەرەتا Kotlinـە.
What is the difference between static and dynamic typing?جیاوازیی نێوان جۆرداریی جێگیر و جۆرداریی ناجێگیر چییە؟
With static typing, variables have fixed types that are checked before the program runs. With dynamic typing, a variable can hold any type and type mistakes appear while the program runs.
لە جۆری جێگیریان هەیە کە پێش جێبەجێکردنی دەپشکنرێن. لە دەتوانێت هەر جۆرێک هەڵبگرێت و هەڵەکانی جۆر لە دەردەکەون.
How does Python mark a code block, and how does Java?Python چۆن بلۆکێکی کۆد دیاری دەکات و Java چۆن؟
Python uses indentation; Java uses curly braces { }.
Python بەکار دەهێنێت؛ Java کەوانەی { }.
Why was the name Java chosen?بۆچی ناوی Java هەڵبژێردرا؟
After Java coffee; the Indonesian island of Java grew coffee from the time of the Dutch in the 1600s, and “java” became a word for coffee.
بە ناوی قاوەی Java؛ دوورگەی Java لە ئیندۆنیزیا لە سەردەمی هۆڵەندییەکانەوە لە سەدەی حەڤدەدا قاوەی دەچاند و «java» بوو بە وشەیەک بۆ قاوە.
Lesson complete!وانەکە تەواو بوو!
Well done. Review the key terms, then go on to the next lesson.دەستخۆش. سەیرێکی زاراوە سەرەکییەکان بکەرەوە، پاشان بڕۆ بۆ وانەی داهاتوو.
Key termsزاراوە سەرەکییەکان
How Code Becomes a Running Program: Compilers and Interpretersچۆن کۆد دەبێت بە بەرنامەیەک کە کار دەکات: کۆمپایلەرەکان و ئینتەرپرێتەرەکان
Related lecturesوانە پەیوەندیدارەکان
- How Code Becomes a Running Program: Compilers and Interpretersچۆن کۆد دەبێت بە بەرنامەیەک کە کار دەکات: کۆمپایلەرەکان و ئینتەرپرێتەرەکان
- Programming Languages and Algorithmsزمانەکانی بەرنامەسازی و ئەلگۆریزمەکان
- Introduction to PHPسەرەتایەک بۆ PHP
- Python Next to JavaPython لە تەنیشت Javaـەوە
- Welcome to Python: Install and Runبەخێربێیت بۆ Python: جێگیرکردن و جێبەجێکردن
References and further readingسەرچاوەکان و خوێندنەوەی زیاتر
- Python documentation: General Python FAQ (what Python is, its history, Python for beginners)
- Python documentation: glossary (bytecode, interpreted)
- java.com: What is Java technology and why do I need it?
- Wikipedia: Java (programming language) — history and name
- OpenJDK JEP 512: Compact Source Files and Instance Main Methods (JDK 25)
- Android Developers: Android's Kotlin-first approach
- Stack Overflow Developer Survey 2025: Technology
- Wikipedia: Embedded system (watches, traffic-light controllers, medical equipment, washing machines)
This lecture is a first edition. The Kurdish text and terminology are waiting for review by Kurdish IT teachers.ئەم وانەیە چاپی یەکەمە. دەقە کوردییەکە و زاراوەکانی چاوەڕێی پێداچوونەوەی مامۆستایانی کوردی بواری IT ن.