Kutumia C++ wakati wa course ya Artificial intelligence haifai tena, hebu walimu wa vyuo mnaohusika mbadilike

Kutumia C++ wakati wa course ya Artificial intelligence haifai tena, hebu walimu wa vyuo mnaohusika mbadilike

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
 
Mkuu course content sina kwa kuwa hata kwenye site huwa haziwekwi unachoweza ambulia ni programmes structure tu(NB Ninakumbuka tu kuwa walimu ndo huwagawia wanafunzi au wasigawe kabisa ila hutoa maelekezo mimi si mwanafunzi hivyo najaribu kukumbuka).
Na ninacho shangaa kuna vyuo C++ inasomwa na inatumika kwenye course yingi kitu ambacho huwezi kuta kwenye lugha kama Java, Python kwa kusema hivyo haimaanishi sifahamu umuhimu wa C++ kama mama. Lakini je wanafunzi hawaelewi tu huo msingi?

Ona Mfano Kuna vyuo(sitaji), semester ya kwanza mwanafunzi husoma C/C++ basics, semester ya pili husoma data structure na algorithms, wakati semester ya tatu husoma Data storage na information retrieval (practicla ni C++ hapo kuna vector, text features mambo ya dictionary n.k) , semester inayofuata ndo Java inaweza somwa wakati huo semester ya tano kuna course zinazoendana(zinabebwa) AI, ambazo ni either Expert Systems au knowledge based systems hapa ni Prolog au Lisp baadae semester inayofuata ni AI yenyewe cha ajabu tunarudi kwenye C++ hapo ni mwendo wa concepts na algorithms na hizo unashangaa unaweza rudi kwenye vector.

Sasa swali vipi mbona atuna wataalam wa AI au wapo na wanafanya nini?, ni jambo la kufikiri tu, bilishangaa kuna chuo kinafadhiliwa na IBM huko kenya wao AI wanatumia PYTHON, na pia walioendelea kitekinolojia wanacheza na PYTHON iweje sisi?, je hizo course za awali hazitoshi kumpa mwanga mtu kwenye C++, na kama issue ni kuweza kuideploy si kila kitu kinaweza kuwa na lugha official hata kama moja inaweza piga kote kwanini ziko hizi.
Weka course contents kwanza ka ilivyo kwenye syllabus tuone kwanza...
 
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
syllabus ni mali ya mwalimu/chuo husika kama sivyo zingekuwa zinapatikana sana, ila kwa wanafunzi wanaweza zipata kwenye moodle.

check hapa hii sio syllabus
 
Sababu 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 👍
Miaka ya huko mbeleni programmer wenye kujua low level watakua adimu sanaa.. tena sanaa
 
Kwanini 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.
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
 
C++ 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++
But remember c++ is very closely to the hardware so you can easily damage your computer if you do something stupidly
 
But remember c++ is very closely to the hardware so you can easily damage your computer if you do something stupidly
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
 
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



Na swali umewahi kusoma information storage and retrieval , Kama ndio ulitumia lugha ipi na algorithm zipi?
 
Na swali umewahi kusoma data storage na information retrieval , Kama ndio ulitumia lugha ipi na algorithm zipi?
Kwanza 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.
 
Kwanza 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.
Ni 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.
 
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
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
 
Python has a lot of C++ and C backends that make it moderately fast. Python haipo rahisi kama inavyodhaniwa, hasa ukitaka kuwa productive. Anza kwa kujifunza syntax mpaka level za juu. Jifunze matumizi ya libraries mbalimbali, jifunze namna ya kutengeneza applications mbalimbali zinazowasiliana na system mbalimbali, etc.,.

Mfano, Django (Write Your First Web Application in Django) ni full Python, lakini watu wengi wanaiona ngumu. Pia ukitaka kupima uwezo wako wa kuprogram in Python, chukua existing app halafu ielewe, test kwa mfano TensorFlow: tensorflow/tensorflow

Kwa vyovyote C++/C ni muhimu kwa ajili ya kujifunza programming fundamentals in a more stricter way.


Start to learn how to code today:




Or generally, get into Welcome!

TensorFlow ipo mbele miaka mingi kwa sasa, kuna PyTorch na wenzake ambao wanainyatia kwa mbali. Unaweza ukaja na AI/ML/DL library yako lakini utasota vya kutosha kuifikisha level za TF.
 
Ni 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

Sijui jibu mkuu
 
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
Okay, ni mazoea yangu kutumia hio term mkuu, ila nadhan umeelewa nilichotaka kusema.
 
Na ndio maana itakuwa ngumu kuelewana, akipatikana mtu aliyesoma hawezi weka hizo php hapo.

Vipi unaifahamu vector ya C++ ?
Fuckin piece of shit.

Naona hadi aibu sijui kwa nini nilikujibu mwanzoni. Too childish...
 
Back
Top Bottom