Jifunze computer programming kwa kiswahili:1










Jifunze kuhusu COMPUTER PROGRAMMING  kwa lugha ya Kiswahili: 1

Je! Umewahi kusikia kuhusu computer programming? Na umewahi kujiuliza ni vipi vifaa hivi vya kielectronic vinavyofanya kazi?
Watu wengi wamekuwa na shauku ya kutaka kujua kuhusu computer programming ila kutokana na vikwazo mbalimbali malengo yao huishia njiani, miongomi mwa vikwazo wanavyokutana navyo ni pamoja na vifaa vya kujifunzia, pesa, lugha( language barrier) n.k
Katika kurasa hii nitajaribu nkuzungumzia kuhusu computer programming ila kabla ya kuendelea kuna maneno ambayo unatakiwa kuyajua ili yasikuchanganye.

PROGRAM  ni mkusanyiko wa maelezo (instructions) ambayo yanaipa au kuiamrisha computer kazi ya kufanya, computer inahitaji program ili uweze kuitumia, bila ya program(s) computer haiwezi kufanya kazi unazoziona ikifanya na computer bila ya program(s) ni sawa na ndege isiyokuwa na rubani.
 Nitatoa mfano ili upate kunielewa vizuri, ni mara nyingi sana umewahi kukutana na maneno kama vile calculate, paste, login, delete n.k maneno hayo ndiyo  maelezo ( instructions) niliyoyakusudia, ambapo maelezo hayo yanakuwa yameandikwa kwa programming languages ambapo baadaye yanabadilishwa na kuwa katika mfumo wa binary(machine language) ili computer iweze kuyaelewa (nitaelezea iko vipi).

marks=int(input("Enter your marks: "))
if marks<50:
    print("YOU FAILLED")
else:
    print("YOU PASSED")

Huu ni mfano wa maelezo (instructions) ulio andikwa kwa lugha ya python programming language ambao una mtaka mtumiaji (user) kuingiza marks zake, ila hapo kuna neno print ambalo hili ni mfano wa maelezo (instruction) ambalo linaiambia computer kuonyesha matokeo (print) na maelezo hayo ndiyo tunayaita code.

SOFTWARE  najua kuna watu wanajiuliza je! Kuna tofauti gani baina ya program na software? Jibu ni kuwa program ni mkusanyiko wa maelezo ambayo yaniambia computer ifanye nini mfano: delete, copy, save ,print n.k lakini software ni mkusanyiko wa programs ambazo zinatengeneza kitu kimoja(software) ambayo inafanya kazi maalumu.

Aina za software

Kuna aina mbili za software ambazo ni
v  System sofrware   mfano wake ni operating system, utility programs na device driver
     v  Application software  mfano wake ni word processing(MS Word/Word perfect), vlc, Adobe, Chrome n.k

COMPUTER PROGRMMING  hiki ni kitendo cha kubuni na  kuandika maelezo(instructions or codes) ambayo yatatengeneza program kwa ajili ya kukamilisha kazi maalumu.
PROGRAMMER(CODER,DEVELOPER OR SOFTWARE ENGINEER)  huyu si mwingine bali ni mtu kama mimi na wewe ambaye anafanya kazi  ya kutengeneza computer software kwa kutumia codes(instructions).

PROGRAMMING LANGUAGES  hizi ni lugha ambazo hutumiwa na programmer wakati wa kutengeneza program. Programming languages ni lugha ambazo zimekusanya misamiati(maneno) ambayo ndani yake ndio kuna maelezo( instructions) yanayo iambia computer au kifaa kingine cha kielectronic kufanya kazi maalumu. Mfano wa maneno hayo ni kama, print,if,not, and,range do, case then n.k

Aina za computer programming languages

  v  Low level language :  hii ni lugha ambayo  hutumiwa na processor ili kuweza kufanya mawasiliano na hardware katika mfumo wa computer, programmer hutengeneza program kwa kutumia high level language ambapo ili computer iweze kuelewa imeambiwa nini ni lazima lugha hii iweze kubadilishwa kutoka katika high level language na kuwa katika mfumo wa low level language (binary format) Mfano: programmer akiandika neno ADD ambalo neno hili lipo katika high level language na neno hili likisafirishwa kupelekwa katika microprocessor kwa ajili ya matumizi, computer haiwezi fahamu kuwa imeambiwa ifanye nini, hivyo basi ni lazima neno hili liweze kutafsiriwa au kubadilishwa  na kuwa katika mfumo wa low level language, low level language ni mfumo wa binary ambao huwa ni 0 na 1, mfano neno ADD linabadilishwa na kuwa katika low level language litasomeka kama  110011(mfano), kumbuka kuwa computer inaelewa 0 na 1 tu na sio A,B,C,D …..Mfano wa low level language ni Machine language na assembly language.
  v  High level languages : hizi  ni lugha zinayotumiwa  na programmers  ambazo zina wazesha kuandia program ambayo mara nyingi haitegemei aina ya computer, programmer ni vyepesi kwao wao  kuweza kuzifahamu lughahizi ila ni ngumu kwao kuifahamu low level language, vivyo hivyo  ni vigumu computer kuweza kuzifahamu lugha hizi za high level tofauti na low level language. High level languages haziwezi kuingiliana na mfumo wa hardware katika computer, high level programs zinahitaji compiler/interpreters  ili ziweze kutafsiri source code kutoka katika high level landuage na kuwa low level language
Zingatia: low level language ni lugha ya computer na high level language ni lugha anayotumia programmer kutengeneza program
Mfano wa high level languages ni kama vile Java, Phython, Pascal ,C++, Cobol, Ruby, Javascript, Php, Html n.k




          



Faida za low level language(machine language)

  v  Ufanyaji kazi (running) wa low level language ni wa haraka zaidi kuliko high level language kwa sababu lugha hii haihitaji kutafsiriwa tena, hivyo ikifika kataka microprocessor hufanyiwa kazi moja kwa moja bila kutafsiriwa tena, tofauti na high level language ambapo ni lazima itafsiriwe kwanza ili iwe katika low level language ili iwezwe kufanyiwa kazi na microprocessor.
v  Inaweza kuwasiliana moja kwa moja na hardware

Hasara za low level languages(machine languege)
   
 v  Programs zilizotengenezwa kwa low level language mara nyingi hutegemea na aina ya computer na vile vile haziwezi kuhamishkia kutoka kifaa kimoja (computer)kwenda kingne, kwasababu zinakuwa zinategemea microprocessor
 v  Programs  zilizotengnezwa kwa low level language ni ngumu sana kuziendesha na kuzirekebisha hata kutafuta tatizo(error) ni ngumu sana, kwa sababu programmer anakuwa na ugumu wa kuifahamu lugha hii.
v  Programs zilizotengenezwa kwa low level language mara nyingi huwa ni error prone.
Error  prone maana yake ni kuwa program hiyo ni nyepesi sana kufanya error

Faida za high level language

 v  High level language ni rafiki sana na programmer, kwani programmer ni vyepesi sana kuielewa high level langiuagr tofauti na low level language.
 v  Ni vyepesi sana kwa programmer kuiandika (write), kuondoa error (debug) na kufanya marekebisho mengine.
Debugging (debug) ni mchakato au hatua (process) za kutafuta na kuondoa error katika program.
Debugger hii ni software inayotumika kuangalia kama kuna error katika program na kuweza kuiondosha.
v  High level language hazitegemei aina ya computer, hivyo basi hata ukiihamisha inaweza kufanya kazi katika kifaaa kingine tofauti na low level language.
v  High level language sio sana kufanya error(less error prone)

Hasara za high level language

  v  Ina hitaji muda mwingine ili kuweza kutasfriwa kutoka katika high level language na kuwa low level language
  v  High level language haiwezi kuwasiliana na microprocessor moja kwa mooja mpaka itafsiriwe kuwa low level language

v  High level language ufanyaji kazi wake si wa haraka sana kama low level language.

                                                                                                                        ........ to be continue
    
     Katika darasa linalofata nitajaribu kuzungumzia baadhi ya vitu nilivyo viacha, mpaka kufikia hapo mimi sina la zaidi, kama una maswali au maoni dondosha hapo katika comment........
     
     By Djmuba_+255769631203
                    Unguja_ Zanzibar




1 comment:

  1. nimependa somo lako, kuna kitu nasubir huenda kwenye somo lijalo kitakuwepok . vinginevyo nitauliza.. . .

    ReplyDelete