Weka course contents kwanza ka ilivyo kwenye syllabus tuone kwanza...
syllabus ni mali ya mwalimu/chuo husika kama sivyo zingekuwa zinapatikana sana, ila kwa wanafunzi wanaweza zipata kwenye moodle.Tatizo hujaileta syllabus na hilo somo kwenye muktadha wa syllabus. Hatujui hasa somo lililenga kumfundisha mwanafunzi nini haswa.
Kaa sababu hiyo kila mmoja atasema na kukosoa kulingana na maoni yake na si kukosoa au kuunga mkono haswa kilichomo kwenye somo na syllabus kwa ujumla
Miaka ya huko mbeleni programmer wenye kujua low level watakua adimu sanaa.. tena sanaaSababu inaweza hii:
Cpp ni language ngumu, syntax zake ngumu ambapo inampa mwanafunzi nafasi ya kujifunza OOP language intensively na seriously.
Kutokea hapo mwanafunzi anaweza kushika language zingine kirahisi sana.
Cpp ni Low level programming language, kwa maana hiyo ni language ambayo ipo karibu zaidi na Machine language . Ndio maana hata drivers nyingi zinakuwa coded kwa cpp.
Language ambazo zipo kama human language (chukulia mfano python au vb) zinamfanya programmer kutoelewa in detail, what is happening behind the source code.
Hayo mawazo yangu 👍
Inabidi uelewe hivi vitu kabla haujaendelea na hoja yakoKwanini bado mnatumia C++ kwenye hii course?
Naona bado na ninyi mnakuwa wazembe au labda vyuo husika vinawaforce kufanya hivyo, labda nipate maelekezo kidogo hapa.
Maana naona PYTHON ndo imejaa vitu vingi muhimu vilivyopo kwenye hii course, but why mnadeal na algorithm pekee why not other issues tena kwa C++, why mnadeal na vector na text feature pekee.
Labda sijaeleweka ila tutaelewana mbele kwa mbele ninachoomba Muanze kutumia PYTHON KWENYE HIYO COURSE YA AI na si vinginevyo. Itakuwa poa sana.
Jaribuni kwenda na wakati.
But remember c++ is very closely to the hardware so you can easily damage your computer if you do something stupidlyC++ is very fast and therefore best suited for projects where time and speed are sensitive and it's very efficient in the use of algorithms.
Python is easier to learn and has a lot of open source packages for the same but it's not a low level PL thus not as fast as C++
Haaaahaaaaa haiko hivyo mkuu.But remember c++ is very closely to the hardware so you can easily damage your computer if you do something stupidly
Inabidi uelewe hivi vitu kabla haujaendelea na hoja yako
1)Library kuu inayotumika kwenue AI na ML ni Tensorflow ambayo imeandikwa "PRIMARILY" katika C/C++ hizo Tensoflow za Python, Java, javascirpt etc ni "WRAPPERS" tu. Hivyo ili kupata real flavor ya Tensorflo inabidi utumie C/C++ (Few geeks experience this flavor BTW)
2)C/C++ ndio language ambayo wataalam wanarecomend itumike kwenye ML na AI kwa sababu operations zake ni "resource - Intensive", kwa kutumia low level languages kama C/C++ inasaidia kuongeza speed ya hizo operations. Python inakua slow sana na ndio maana kuna "Cython" inayosaidia kuongeza speed kdg kwenye scripts za python
3)Python mwanzo kabisa ilikua na lengo la kuwa scripting language ya systems zinazotumia C/C++ ili kurahisisha vitu kama text processing, I/O, etc.. ambavyo havikua na ulazima wa kuanza kutumia C/C++ tena coz kiukweli C/C++ ni ngumu ukilinganisha na python. Hivyo python ilipozidi kupata user base kubwa ndipo developers wakazidi kuitumia kutengeneza wrappers za mambo ambayo yanafanyika vigumu sana kwa c/c++ ila ukitumia python yanafanyika kwa urahisi zaidi. Ndo maana utaona kuna libs kama numpy, keras etc ambazo zinasaidia sana kwenye ML dev, japo ukiingia kiundani zaidi 'original' Tensorflow iloandikwa kwa c/c++ inaweza kufanya vitu vyote peke yake kwenye ML & AI dev kuanzia kutengeneza model, kutengeneza data pipeline(kwa python wengi hutumia pandas, lkn TF inajiweza sana kwa hili na inaifanya vzr zaidi ya pandas), kufeed data kwenye model, kutengeneza loss fn etc.....(Read Tensoflow documentation for more)
So kama umenielewa hapo juu C/C++ is the best for AI & ML development lakini python inatumika kwa sababu ya urahisi wake kwenye scripting na ndio maana ina wrappers nyingi za mambo ambayo unaweza fanya hata kwa C/C++(but with more sweat). Na Tensoflow og ya C/C++ inaweza kufanya kila kitu sema tu inabidi uwe umesoma documentation kwelikweli la sivyo utakuwa unakutana na errors ambazo hazijawekewa solution kwenye dev communities. Wengi wanatumia Tensorflow ya Python ambayo ni wrapper tu lakini ina community support kubwa, hivyo hata ukikumbana na error unajua wapi pa kupatia solution.
Kama unataka kuwa geek wa ML & AI endelea na C/C++ then R then Python, lakini kama unataka tu kuwa dev wa kawaida kwenye ML & AI kama walivyo wengi endelea na Python achana na C/C++ itakupotezea time bure. Kwa maoni yangu syllabus kama inatumia C++ basi naiunga mkono.
~Kali Linux
Kwanza unaposema DATA STORAGE & INFORMATION RETRIEVAL ni kitu kipana saaaaaana. Storage ipi unaongelea? database au filesystem? Kiufupi swali liko broad sana, ila nitajibuNa swali umewahi kusoma data storage na information retrieval , Kama ndio ulitumia lugha ipi na algorithm zipi?
Ni INFORMATION STORAGE AND RETRIEVALKwanza unaposema DATA STORAGE & INFORMATION RETRIEVAL ni kitu kipana saaaaaana. Storage ipi unaongelea? database au filesystem? Kiufupi swali liko broad sana, ila nitajibu
Okay tuassume the general case...
1)Kwa PHP, NodeJS, Ruby, Python etc natumia CRUD mechanisms
2)Kwa Filesystems kuna System API calls zinatumika. Hapa kila OS ina API zake kutegemea na language husika aidha Java(For Android) au C# (windows) & C (Linux Systems). Hizo System calls mara nyingi tunaziwekea try/catch blocks ili kuhandle exceptions kama resources hazipo au kuna processing thread inazitumia muda huo.
**Kwenye C/C++ kuna Pointers Pia upande wa System level storage
Afu swali lako umeliuliza ki-theory zaidi nadhan bado uko chuo lkn ukija kubase kwenye Practical zaidi af ukarudi kwenye swali lako utaona hayo maneno "Algorithm zipi" hayakupaswa kuwepo unless niwe sijaelewa nini unataka kuuliza exactly.
umenena vizuri mkuu ijapokua ukitumia neno C/C++ linakua misleading as if hiyo ni lugha moja.Haaaahaaaaa haiko hivyo mkuu.
Kwenye OS kuna kona Developer hazigusi na hata akitaka kuzigusa basi inabidi awe na previllege fln ambayo sio rahisi kuipata
Nitumie mfano wa Android System coz ni mojawapo ya OS simple kabisa zinazotumia linux kernel(C/C++).
1)Ili user aweze kuandika System App ya android inabidi awe na system ROM signature(Hii ni signature inayokuwepo kwenye ROM file ya android OS uloweka kwenye simu yako, ili kuipata inabidi uwe na access na alotengeneza hio system ROM). Hivyo bila hio signature dev ataishia kuandika Apps za kawaida tu ambazo hazigusi vitu critical sana kwenye System ya mtumiaji kama zilivyo System Apps.
2)Kuna file permissions pia zinazuia hio kitu. Apps zinazuiliwa kuaccess baadhi ya files ambazo labda zikifutwa au zikawa compromised zitafanya system iharibike. Kwenye Android, App inaruhusiwa kutumia tu files ambazo ziko public na ambazo ziko maalum kwa hio app tu.
So kiufupi damage unayoongelea ni vigumu sana kutokea hapo
OkayNi INFORMATION STORAGE AND RETRIEVAL
Rudi kwenye quote yangu kuna kosa la kimaandishi kisha ujibu swali, nb mimi sio mwanafunzi aise sijui unakwama wapi kila mtu ameapecialize eneo lake na hili ni swali langu ili wajao wajue nini kinatakiwa. Haya jibu swali.
Okay, ni mazoea yangu kutumia hio term mkuu, ila nadhan umeelewa nilichotaka kusema.umenena vizuri mkuu ijapokua ukitumia neno C/C++ linakua misleading as if hiyo ni lugha moja.
mfano ukisema: linux kernel(C/C++), wakati Linux kernel haijaandikwa kwa C++ bali ni C.
C na C++ lugha mbili tofauti ijapokua baadhi ya code za C ziko compatible kwenye C++, zama za 'C with Classes' zishapita
Fuckin piece of shit.Na ndio maana itakuwa ngumu kuelewana, akipatikana mtu aliyesoma hawezi weka hizo php hapo.
Vipi unaifahamu vector ya C++ ?