Kujifunza programming, jinsi ya kuanzia

MK254

JF-Expert Member
May 11, 2013
31,757
48,403
Kuna hili swali mdau fulani ameniuliza kwenye inbox hili swali nimeona nililete huku ili lijadiliwe na wadau wengine kwa manufaa ya wanaJF

sorry kaka,
hivi wewe uko vizuri kwenye programming language zipi?
wakati unaanza kusoma programming ulianza na language ipi na ukamalizia na ipi
na sasa hivi katika kazi zako unatumia sana language ipi?
Napenda sana programming ila sasa mwanzo ndio umekuwa mgumu kishenzi.
Asante Kaka.


Kwema kaka,
Hili ni swali ambalo ningepata mtu wa kunielekeza wakati naanza programming, ningenufaika sana. Maana nilianza kama kipofu asiyejua njia, ikawa nasoma soma kila lugha tena kwa kasi kiasi kwamba nikaishia kujifunza lugha karibia kumi halafu la kushangaza hatimaye nikajikuta siwezi nikatengeneza hata a simple software maana kwenye kujifunza huko sikua natulia ili nielewe lugha vizuri kwanza kabla sijaruka kwenda kwa nyingine.

Ikaja siku nikapata mradi, kuna mteja alinipa hela za mwanzo nimtengenezee software ya online dating, hapo ndio nilijua haya mambo hayataki ukurupukaji. Nilikesha miguu kama nimeitumbukiza kwenye maji ndani ya karai huku nikisoma PHP/MYSQL, nikapambana hadi nikafaulu kukamilisha huo mradi japo kwa ucheleweshaji ulioishia ugomvi na makelele kutoka kwa mteja. Kwa kweli sikumtendea haki yule jamaa maana alinilipa hela za kuanzia, kitita ambacho sikua nimezoea.

Sasa kwa ushauri wangu, ili ufanikiwe kwenye hii taaluma ya programming, unafaa kwanza kujipanga kiakili/psychologically. Maana bila kujipa mzuka fulani, unaweza ukateseka sana na kuachia, unafaa ujiandae kwa mapambano na kuwa tayari kuchimba na kuchimbua hadi kieleweke. Uwe na utashi uwe tayari kula, kulala, na kuishi kwa programming, uwe tayari watu wakuone kama zezeta fulani hivi kwa muda wa mwaka mmoja.

Usiwe mtu wa kuchoka na kukata tamaa haraka, kuna mara nyingi nimetengeneza software na kuitelekeza, nimetumia muda mwingi, masaa mengi, nimekesha lakini hatimaye inabaki kuwa tembo mweupe kwenye laptop yangu. Hivyo, lazima uwe tayari na mzuka wa kihivyo.

Lakini siku mambo yakianza kuenda, utapenda programming maana kwanza itakutoa kifedha na kimaisha, na pia ni taaluma inayokupa uhuru fulani na inaongeza uwezo wako wa kufikiri na kutafakari mambo. Inaondoa uvivu na kukupa muamko fulani kimaisha.
Nakumbuka nilivyojikuta nipo kwenye ndege nikiwa kijana nimelipiwa nauli, halafu nimekodiwa chumba kwenye hoteli ya gharama ambayo sikua nawaza nitawahi kuifikia kwenye maisha yangu yote, halafu kwenye benki kwa mara ya kwanza nikaona milioni ya kwetu Kenya imetulia humo, hizo kama milioni 22 za Bongo, hapo nikatia akili, ndio ikanijia kweli kumbe yote haya yana matunda.
Lakini hamasa yako isiwe hela tu, hakikisha kwanza umeingiwa na mapenzi fulani ya programming.

Sasa baada ya kuhakikisha upo tayari kuanza, tumia lugha ambayo itakupa msingi mzuri kwenye programming concepts. Kwa mfano C ni lugha nzuri sana maana ndio msingi wa lugha zingine, ukiweza kuizoea utashangaa jinsi lugha zingine zitatiririka kiulaini. Baada ya hapo fuatia na C++, hakikisha hizi lugha mbili zimetulia ndani yako. Kunazo kama C# na Java ambazo pia ukizipatia vizuri utatulia. Sasa utakua umepata uwezo mkubwa wa kuelewa lugha zingine kama Python, HTML5, Javascript (isome kabla ya kufuata framework zake), PHP (pia usifuate frameworks kabla hujaielewa) taratibu endelea kwenye vitu kama CSS n.k.

Mkakati wa kusoma au kujifunza ni huu hapa
- Hakikisha umeelewa computer basics, some data types vizuri masuala ya binary hakikisha umeyaelewa vizuri
- Pitia mambo kama TCP/IP model na mambo mengine ya msingi kuhusu computing
- Anza kusoma kuhusu programming, hakikisha umeelewa kwa kina nini maana ya programming na concepts zake
- Sasa anza kujifunza basics stuffs kama syntax
- Humo kwenye kujifunza msingi wa programming, fanya miradi midogo midogo kama kutengeneza calculator
- Usikimbilie kutengeneza software kubwa kabla hujatulia kwenye hizo ndogo ndogo
- Hakikisha umefanya projects ndogo ndogo hadi umekua na uwezo kuandika software ndogo mwanzo hadi mwisho
- Sasa hapo anza kujifunza masuala advanced, anza kujongea jongea kwenye maeneo yenye kina, utashangaa sana na kujishukuru kwamba ulihakikisha mambo ya msngi yametulia kabla hujaenda huko deep
- Hatimaye anza kujifunza frameworks, na kusoma software modeling, jinsi unaweza ukaandika software ya shirika nzima hadi ikatulia, kuanzia analysis hadi unapokeza software na documentation
- Pia jinsi ya kufanya kazi kwenye teamwork, na matumizi ya mifumo kama Github
- Kufikia hapa utakua tayari unapepea bila kuhitaji kuongozwa

Vitu vya msingi
- Usiwe mtu wa kukata tamaa
- Kuwa tayari kurekebishwa
- Kuwa tayari kuelekezwa
- Usiogope kusoma, pitia youtube videos, download PDF books, soma soma, fanya utafiti
- Usipende copy pasting, ukiingia maeneo kama stackoverflow ukaona suluhu kwa tatizo fulani, jaribu kuandika code hiyo mwenyewe badala ya kuichukua ilivyo


Kwenye swali lako uliuliza kunihusu
- Mimi hapa natumia sana PHP/MYSQL, HTML5, Javascript (na matawi yake mengi), MS SQL, Postgresql
- Lakini kwenye pilka pilka za miradi nimejikuta natumia mara moja moja Python, C++, C# n.k.

-
 
Kuna hili swali mdau fulani ameniuliza kwenye inbox hili swali nimeona nililete huku ili lijadiliwe na wadau wengine kwa manufaa ya wanaJF

sorry kaka,
hivi wewe uko vizuri kwenye programming language zipi?
wakati unaanza kusoma programming ulianza na language ipi na ukamalizia na ipi
na sasa hivi katika kazi zako unatumia sana language ipi?
Napenda sana programming ila sasa mwanzo ndio umekuwa mgumu kishenzi.
Asante Kaka.


Kwema kaka,
Hili ni swali ambalo ningepata mtu wa kunielekeza wakati naanza programming, ningenufaika sana. Maana nilianza kama kipofu asiyejua njia, ikawa nasoma soma kila lugha tena kwa kasi kiasi kwamba nikaishia kujifunza lugha karibia kumi halafu la kushangaza hatimaye nikajikuta siwezi nikatengeneza hata a simple software maana kwenye kujifunza huko sikua natulia ili nielewe lugha vizuri kwanza kabla sijaruka kwenda kwa nyingine.

Ikaja siku nikapata mradi, kuna mteja alinipa hela za mwanzo nimtengenezee software ya online dating, hapo ndio nilijua haya mambo hayataki ukurupukaji. Nilikesha miguu kama nimeitumbukiza kwenye maji ndani ya karai huku nikisoma PHP/MYSQL, nikapambana hadi nikafaulu kukamilisha huo mradi japo kwa ucheleweshaji ulioishia ugomvi na makelele kutoka kwa mteja. Kwa kweli sikumtendea haki yule jamaa maana alinilipa hela za kuanzia, kitita ambacho sikua nimezoea.

Sasa kwa ushauri wangu, ili ufanikiwe kwenye hii taaluma ya programming, unafaa kwanza kujipanga kiakili/psychologically. Maana bila kujipa mzuka fulani, unaweza ukateseka sana na kuachia, unafaa ujiandae kwa mapambano na kuwa tayari kuchimba na kuchimbua hadi kieleweke. Uwe na utashi uwe tayari kula, kulala, na kuishi kwa programming, uwe tayari watu wakuone kama zezeta fulani hivi kwa muda wa mwaka mmoja.

Usiwe mtu wa kuchoka na kukata tamaa haraka, kuna mara nyingi nimetengeneza software na kuitelekeza, nimetumia muda mwingi, masaa mengi, nimekesha lakini hatimaye inabaki kuwa tembo mweupe kwenye laptop yangu. Hivyo, lazima uwe tayari na mzuka wa kihivyo.

Lakini siku mambo yakianza kuenda, utapenda programming maana kwanza itakutoa kifedha na kimaisha, na pia ni taaluma inayokupa uhuru fulani na inaongeza uwezo wako wa kufikiri na kutafakari mambo. Inaondoa uvivu na kukupa muamko fulani kimaisha.
Nakumbuka nilivyojikuta nipo kwenye ndege nikiwa kijana nimelipiwa nauli, halafu nimekodiwa chumba kwenye hoteli ya gharama ambayo sikua nawaza nitawahi kuifikia kwenye maisha yangu yote, halafu kwenye benki kwa mara ya kwanza nikaona milioni ya kwetu Kenya imetulia humo, hizo kama milioni 22 za Bongo, hapo nikatia akili, ndio ikanijia kweli kumbe yote haya yana matunda.
Lakini hamasa yako isiwe hela tu, hakikisha kwanza umeingiwa na mapenzi fulani ya programming.

Sasa baada ya kuhakikisha upo tayari kuanza, tumia lugha ambayo itakupa msingi mzuri kwenye programming concepts. Kwa mfano C ni lugha nzuri sana maana ndio msingi wa lugha zingine, ukiweza kuizoea utashangaa jinsi lugha zingine zitatiririka kiulaini. Baada ya hapo fuatia na C++, hakikisha hizi lugha mbili zimetulia ndani yako. Kunazo kama C# na Java ambazo pia ukizipatia vizuri utatulia. Sasa utakua umepata uwezo mkubwa wa kuelewa lugha zingine kama Python, HTML5, Javascript (isome kabla ya kufuata framework zake), PHP (pia usifuate frameworks kabla hujaielewa) taratibu endelea kwenye vitu kama CSS n.k.

Mkakati wa kusoma au kujifunza ni huu hapa
- Hakikisha umeelewa computer basics, some data types vizuri masuala ya binary hakikisha umeyaelewa vizuri
- Pitia mambo kama TCP/IP model na mambo mengine ya msingi kuhusu computing
- Anza kusoma kuhusu programming, hakikisha umeelewa kwa kina nini maana ya programming na concepts zake
- Sasa anza kujifunza basics stuffs kama syntax
- Humo kwenye kujifunza msingi wa programming, fanya miradi midogo midogo kama kutengeneza calculator
- Usikimbilie kutengeneza software kubwa kabla hujatulia kwenye hizo ndogo ndogo
- Hakikisha umefanya projects ndogo ndogo hadi umekua na uwezo kuandika software ndogo mwanzo hadi mwisho
- Sasa hapo anza kujifunza masuala advanced, anza kujongea jongea kwenye maeneo yenye kina, utashangaa sana na kujishukuru kwamba ulihakikisha mambo ya msngi yametulia kabla hujaenda huko deep
- Hatimaye anza kujifunza frameworks, na kusoma software modeling, jinsi unaweza ukaandika software ya shirika nzima hadi ikatulia, kuanzia analysis hadi unapokeza software na documentation
- Pia jinsi ya kufanya kazi kwenye teamwork, na matumizi ya mifumo kama Github
- Kufikia hapa utakua tayari unapepea bila kuhitaji kuongozwa

Vitu vya msingi
- Usiwe mtu wa kukata tamaa
- Kuwa tayari kurekebishwa
- Kuwa tayari kuelekezwa
- Usiogope kusoma, pitia youtube videos, download PDF books, soma soma, fanya utafiti
- Usipende copy pasting, ukiingia maeneo kama stackoverflow ukaona suluhu kwa tatizo fulani, jaribu kuandika code hiyo mwenyewe badala ya kuichukua ilivyo


Kwenye swali lako uliuliza kunihusu
- Mimi hapa natumia sana PHP/MYSQL, HTML5, Javascript (na matawi yake mengi), MS SQL, Postgresql
- Lakini kwenye pilka pilka za miradi nimejikuta natumia mara moja moja Python, C++, C# n.k.

-
Mkuu mimi natumia PROLOG,ADA,FORTRAN,ASSEMBLY LANGUAGE ,PASCAL NA AJAX
 
Sikubaliani na kuanza na C wala C++ anza na lugha ambayo ni high level na modern zaidi, lugha kama Java/C#/Python zina vitu vingi vya kurahisisha utengenezaji wa software. Kumwambia mtu aanze na C ni kama kumwambia mtu anayetaka kujifunza kuendesha gari aanze na ufundi gari. Mimi nashauri C# kwa sababu ya uzuri wa IDE yake Visual Studio.

Zaidi ya hapo tafuta kitabu kizuri cha lugha utakayoaanza nayo, kitabu kitakupa mwongozo kwa vile hauna msingi wowote ingia Amazon angalia vitabu vya lugha unayotaka cha beginners na soma review zake, then unaweza kukidownload hata sehemu nyingine.

Pia kuna kampuni kama Lynda zinatoa full video course za programming kama ukiweza kuzipata hizo ni alternative nyingine nzuri.
 
Sikubaliani na kuanza na C wala C++ anza na lugha ambayo ni high level na modern zaidi, lugha kama Java/C#/Python zina vitu vingi vya kurahisisha utengenezaji wa software. Kumwambia mtu aanze na C ni kama kumwambia mtu anayetaka kujifunza kuendesha gari aanze na ufundi gari. Mimi nashauri C# kwa sababu ya uzuri wa IDE yake Visual Studio.

Zaidi ya hapo tafuta kitabu kizuri cha lugha utakayoaanza nayo, kitabu kitakupa mwongozo kwa vile hauna msingi wowote ingia Amazon angalia vitabu vya lugha unayotaka cha beginners na soma review zake, then unaweza kukidownload hata sehemu nyingine.

Pia kuna kampuni kama Lynda zinatoa full video course za programming kama ukiweza kuzipata hizo ni alternative nyingine nzuri.

Hiyo ni kweli, kwamba kuanza kwa kujifunza C ni kama kujifunza ufundi wa gari kabla hujajifunza udereva, lakini binafsi naona hiyo ni bora sana kama unataka career kwenye udereva, bora upate uelewa wa ndani wa muundo wa gari ili baadaye utashangaa sana jinsi huo ujuzi utakukwamua hapo mbele.

C ni nzuri maana inakuwezesha kuelewa kwa kina masuala ya mfumo wa computer. Tatizo la kuanza na lugha zilizorahisishwa ni kwamba zinatatua shida nyingi kiasi kwamba unakosa fursa ya kuelewa nini kinatendeka behind the scene.
Mimi hapa nilijikuta katika hali hii baada ya kujifunza funza hizi lugha 'modern' na kuzitumia, halafu nikajikuta kwenye mradi fulani hapo Bongo uliohitaji uelewa wa kina kuhusu mfumo wa computer, hapo ndio nililazimika kusoma C nikawa kama narudi kwenye basics kabisa.
Hivyo huwa nashauri bora mtu atumie muda wake kuelewa basics za computing vizuri tena kwa kina kabla ya kuanza kukumbatia mambo yaliyorahisishwa.
 
Hiyo ni kweli, kwamba kuanza kwa kujifunza C ni kama kujifunza ufundi wa gari kabla hujajifunza udereva, lakini binafsi naona hiyo ni bora sana kama unataka career kwenye udereva, bora upate uelewa wa ndani wa muundo wa gari ili baadaye utashangaa sana jinsi huo ujuzi utakukwamua hapo mbele.

C ni nzuri maana inakuwezesha kuelewa kwa kina masuala ya mfumo wa computer. Tatizo la kuanza na lugha zilizorahisishwa ni kwamba zinatatua shida nyingi kiasi kwamba unakosa fursa ya kuelewa nini kinatendeka behind the scene.
Mimi hapa nilijikuta katika hali hii baada ya kujifunza funza hizi lugha 'modern' na kuzitumia, halafu nikajikuta kwenye mradi fulani hapo Bongo uliohitaji uelewa wa kina kuhusu mfumo wa computer, hapo ndio nililazimika kusoma C nikawa kama narudi kwenye basics kabisa.
Hivyo huwa nashauri bora mtu atumie muda wake kuelewa basics za computing vizuri tena kwa kina kabla ya kuanza kukumbatia mambo yaliyorahisishwa.

Ni kweli kama unataka kujua undani ni bora uanze na kitu rahisi halafu ndo ushuke chini kama unahitaji kama wewe ulivyofanya, nadhani 90% ya programmers wa Java/C#/JS hawatahitaji kujifunza C kwenye maisha yao.
 
Kwa vitabu vya programming tafuta vilivyo andikwa na oreilly company especially the good part inategemea lugha unayoanzanayo
 
programming sio swala la kitoto linataka mda wa kujisomea sana,kuwa muelewa na musubutu.na mda wote wakuwa kwenye majaribio.kama kwenu maskini au unatafuta kipato mda wote usitegemee unaweza kuwa mzuri sana
 
Kwa kuongezea unapotaka jifunza programing

Jiulize hivi(what ,why, and how)

Unataka Nini katika ulimwengu wa programming na language ipi inafaa?

kwanini nijifunze hiki nachotaka na programming language hii ?

Namna gani/njia zipi ntatumia kujiunza hii programming language na skills husika?

Rejea hii article
 
Uzi mzuri sana huu!! Personally nilianza na java!! Nimetokea kuipenda sana sijui kwanini!!
Java ilinisumbua kutengeneza report kwenye netbean nika achana nayo natumia c# kwenye visual studio ni zaidi ya poa. Java nzuri pia.
 
Back
Top Bottom