Software Engineer
JF-Expert Member
- Dec 20, 2014
- 344
- 137
Asee mi ukweli nimemaliza diploma na language tulizopiga Backend ni php only tena darasa zima mimi na rafiki angu ndo tulioelewa kozi tuliwafanyia watu wengi project, ila for now c++ nimejifunza. Sasa najiuliza tu darasani tuko 27 na karibia nusu hawakuelewa PHP leo asome python ataanzia wapi? Hua natamani niwambia wanafunzi wanaotaka hii career waache kukurupuka ila nashindwa wanadhani informatics ni kubofya keyboard tu na kuuza nayo sura.
Umeona uzi mkuu??? Mbona kuna mengi yamesemwa au umeona tu php mhandisi wa software?!!Diploma gani mtu hajui PHP? Chuo gani hicho?
Sijaponda HTML wala JS, website yoyote ile lazima iwe na HTML coz ndio the only markup language inayotumika kwenye DOM, na JS ni lazima pia coz ndiyo programming language peke yake inayorun kwenye browser.
Ninachopondea mimi ni uvivu wa developers wengi wamekaa hawajisomei concepts mpya zinazotoka kila siku wanabaki kustick na stack ileile moja, mfano kwenye front end, kuna new tools kama React.js, ni Javascript ile unagawa kila kitu into components, mfano site kama ya JF, hii sehemu ya kuandikia reply ni component moja, sehemu ya post ni component nyingine, navigation menu ni component nyingine, unaziandika zote separately as their own classes, then mwisho wa siku unaziunganisha tu kirahisi, very clean, na kila component moja inahandle logic yake kivyake, very easy ku~debug, scale, change anything, also important very easy to read. Ila wengi wamestick na kuunganisha kila kitu kwenye page moja unakuta page moja ndefu code ipo everywhere, php, js, html vyote humohumo vimerundikana kwenye divs tu. Its an old fashioned way of doing things.
language moja haijitoshelezi kufanya kila kitu kwenye page nzito kama jf, fb n.k mh javascript au html?Sijaponda HTML wala JS, website yoyote ile lazima iwe na HTML coz ndio the only markup language inayotumika kwenye DOM, na JS ni lazima pia coz ndiyo programming language peke yake inayorun kwenye browser.
Ninachopondea mimi ni uvivu wa developers wengi wamekaa hawajisomei concepts mpya zinazotoka kila siku wanabaki kustick na stack ileile moja, mfano kwenye front end, kuna new tools kama React.js, ni Javascript ile unagawa kila kitu into components, mfano site kama ya JF, hii sehemu ya kuandikia reply ni component moja, sehemu ya post ni component nyingine, navigation menu ni component nyingine, unaziandika zote separately as their own classes, then mwisho wa siku unaziunganisha tu kirahisi, very clean, na kila component moja inahandle logic yake kivyake, very easy ku~debug, scale, change anything, also important very easy to read. Ila wengi wamestick na kuunganisha kila kitu kwenye page moja unakuta page moja ndefu code ipo everywhere, php, js, html vyote humohumo vimerundikana kwenye divs tu. Its an old fashioned way of doing things.
language moja haijitoshelezi kufanya kila kitu kwenye page nzito kama jf, fb n.k mh javascript au html?
Kuna Tofauti gani kati yaweb developer na web designer??I think the whole issue about using PHP sio sababu ya uvivu, but kuna factors kibao. And this is my opinion, and it applies to all other languages.
1. PHP is common in Tanzania because people are comfortable with it, and because most developers who learn web dev learn from people who use PHP; which makes a pipeline of PHP developers.
2. Preference, most developers have their goto language; for example for most web tasks I default to Rails, for backend and middleware I prefer Golang. So if people prefer PHP let them be. Kuna some world renowned engineers who swear by certain languages or frameworks.
But also remember PHP has one of the easiest stacks to get started, and it also has a lot of templates which people like to use for simplicity, which in return I agree with you kuwa people abuse them to make bad code.
About JS, with the exception of NodeJS(server-side, proven over years), React and Angular(client-side, Backed by Facebook and Google respectively), and basic JS + JQuery; no one should waste their time with any other JS frameworks since they are known to have a very short lifespan before they become legacy.
Kuna Tofauti gani kati yaweb developer na web designer??
ok mi naona ni ujanja wako tuu kusimamisha web kama jf kwa kutumia langauge moja.Front-end ya JF hakuna kingine zaidi ya HTML, CSS na JavaScript. Japo kama wanafanya server side rendering kuna uwezekano pia wa kuwepo language nyingine ontop mfano PhP au Python ni kitu tunaita templating, mfano kupopulate haya majibu mtu anaweza kuamua kuandika a for loop ya kuregenerate each row katika language yake anayotumia na template engine itagenerate html automatic.
Ila tukija kwenye backend its a different story, JF usiiweke level moja na Facebook, JF while ina u~complex wake ndio, na inaweza kua handled na language moja vizuri tu, naona concurrent users JF at peak wanachezeea kama 5,000. A single instance ya AWS inaweza handle that much traffic kama iko optimized na data kua cached vizuri, naona wanatumia websockets pia siku hizi kufanya push notifications, once again 5,000 people ni wengi ila sio wengi kuhitaji different languages kufanya different tasks. Tukirudi kwenye swala la Facebook its a different story, FB is one of the most complex web apps duniani, wanatumia probably kila popular language unayoujia kwenye kazi zao, FB ni kubwa zaidi ya unavyofikiri.
ok mi naona ni ujanja wako tuu kusimamisha web kama jf kwa kutumia langauge moja.
utaweza iwapo utakua ume i master vizuri hiyo lugha ila kama ni mtu wa kusoma partially partially utaweza tumia hata lugha kumi wakati mwanaume aliemiza language moja vizuri anafanya yote.
mkuu Ghraph naomba unipe opinion yako, which is the best combination of programming languages to master ili mtu uwe fundi katika field ya software development?
Umeona uzi mkuu??? Mbona kuna mengi yamesemwa au umeona tu php mhandisi wa software?!!
Embu tupe mawazo yako software engineer
What's your point mkuu??"Asee mi ukweli nimemaliza diploma na language tulizopiga Backend ni php only tena darasa zima mimi na rafiki angu ndo tulioelewa kozi tuliwafanyia watu wengi project"
Unawezaje kupewa diploma kama umeshindwa kuelewa kozi muhimu kama hiyo?
Mhandisi wa software ni zaidi ya PHP, lakini kulingana na diploma yao somo kuu mojawapo la programming lilikuwa PHP.
Uhandisi wa Software ni sawa kabisa na ule wa Madaraja, unaweza ukawa na knowledge nzuri ya madaraja lakini usishike mwiko kujenga daraja hilo.
kwanini usianzishe wewe mkuu??Anzisheni open source project wengine tutacontribute.
Kwa Tz unaweza ukacontribute peke yako...lkn nilimsikia mo kuwa kampuni yake inatoa fungu kwa ajil ya youth development... Xa kwann asianzishe mashindano au maonyesho ya projects nchini watu wajitume zaid...Anzisheni open source project wengine tutacontribute.
What's your point mkuu??
Shukrani sana mkuu kwa mchango wako mujarabu, nina shida sana ya kukutana ana kwa ana na mtu mwenye upeo mkubwa wa mambo kama wewe, naamini hata ikiwa mara moja kwa wiki/wezi bado kuna vitu adimu nitajifunza... uko dar es alaam au jiji gani?Inategemea na aina ya software unayotaka kutengeneza kwa kua kila language ina strength zake na weakness zake pia.
Mfano, mtu ambaye anataka kudeal na hardware intensive apps, chukulia mfano wa google maps, video games, 3d imaging softwares, ni vizuri kwenda na somewhere between C/C++ the latter being a better option kwa kua C++ ina more advanced features zinazorahisisha development kuliko C.
Mtu anayetaka web development, JavaScript is obvious kwa frontend, tukija backend sasa kuna options nyingi, kama ni kuserve just simple data through an api au simple database queries most languages would work just fine, japo hapa pia naipenda JavaScript(Node.js) kwa kua iko consistent na ina async model which to me I think is powerful kwenye kuserve api, ila kama kuna kitu intensive, mfano fikiria app kama Prisma ambayo inatumia Artificial intelligence kutransform picha into a drawing, hapo utahitaji kucheza na libraries za machine learning ambazo nyingi zipo kwenye Java, C++, na these languages are very fast kwa image manipulations pia.
Personally I think languages ambazo kila software developer inabidi ajue ni C/C++, Java, JavaScript kwa kua zinaapply kwenye fields nyingi. Ila kama huna plan kabisa ya kuja kugusa any cpu intensive apps, then C/C++ unaweza zitupitilia mbali ukadeal na JavaScript, Python, Php, kuna Go pia very awesome language. Mobile development ofcoz inabidi ujue Java for android, Swift for iOS.
C/C++ ni muhimu sana, ndio languages zilizo close to the hardware ukiachana na assembly, I think overall they will make anyone a better programmer kuliko languages nyingine zote, na kama mtu anajua one of this languages vizuri anaweza pickup language nyingine yoyote very fast except strict functional programming languages, zenyewe zina model tofauti kidogo ya kufikiri.
sip vizuri kuaanzishakwanini usianzishe wewe mkuu??