There's more to web development than PHP | Page 2 | JamiiForums | The Home of Great Thinkers

Dismiss Notice
You are browsing this site as a guest. It takes 2 minutes to CREATE AN ACCOUNT and less than 1 minute to LOGIN

There's more to web development than PHP

Discussion in 'Tech, Gadgets & Science Forum' started by Graph, Aug 1, 2016.

  1. Graph

    Graph JF-Expert Member

    #1
    Aug 1, 2016
    Joined: Jul 20, 2016
    Messages: 1,307
    Likes Received: 2,557
    Trophy Points: 280
    Nimeamua kuanzisha huu uzi baada ya kuona karibia kila developer ninayekutana naye mtanzania tools zake backend: Php + MySQL, frontend: HTML/CSS/JavaScript.

    Ok sawa, Php is a great language ndiyo, ni popular next to Javascript kwenye web development. You can do a lot of things with Php, Ila hata php yenyewe wanavyoitumia ni rough tu, hakuna code arrangement, hakuna kufata pattern flani, kama mtu anafanya OOP unaangalia the code is everywhere hakuna classes, objects zinakua created on the fly tu, tena wengine hadi identation tu ni shida, yaani ukichukua project ukiiangalia unaona ni bora uanze tu kuifanya upya from scratch.

    Tatizo ninahisi ni uvivu wa kujisomea, hakuna chuo duniani utaenda wakufundishe proper ways of programming, how to arrange your classes, reuse your code e.t.c, watakufundisha fundamentals tu, kukuonyesha what the computer is capable of, what are the limits, how stuffs work, vitu vingine kama efficiency of algorithms, how to think like a programmer basi. Mambo ya real life programming inabidi ujifunze mwenyewe, kuna sources nyingi sana online.

    Kuna languages nyingine za kutumia kwenye backend ambazo zinaweza achieve even better results kuliko php kwenye mambo mengi tu, popular ones Go, Node.js (JavaScript) , Python, Java. Wengi nimeona mna uoga sana wa kujifunza kitu kipya, kama hupendi kujifunza huoni kama ulichagua a wrong career? Hii ni industry ambayo haito-stop kukua, either unajifunza every day au unakua left behind, its that simple.

    Kingine kinachonikera, watu kuogopa linux na command line, sio mbaya kuhost projects zako kwenye hosts ambao unatuma tu php files then everything works, ila ukiishia hapo una tatizo, Jifunze linux na kutumia command line vuzuri, jifunze kuhost your own machine, ingia hata amazon cloud chukua EC2 instance wanakupa offer ya kuhost bure mwaka mzima, cheza na zile machine ujifunze vitu vya muhimu kama load-balancing, scaling up and down of servers, data backup ya database yako, na mjifunze pia hadi caching, kuna tools za ku~cache kama Redis, Memcache, mambo kibao ya kujifunza ambayo yanaweza kufanya web apps zenu ziwe much much better. Na command line sio kwa ajili ya kuhost machine tu na kudiscover files, kuna apps kama vim, unaweza change code on runtime kwenye server, kama kuna tatizo unalifix from anywhere, very convenient.

    Namalizia na client side, There's more to frontend development than jQuery, kuna tools kama React, AngularJS, Polymer, watu wanajua jquery tu. Jifunze tool kama React you won't regret it, personally I think React ndio the way the DOM was supposed to be manipulated, kila kitu kwenye its own component, very easy to work with. And please minify your javascript files, ikiwezekana tumia tools za kucombine all your scripts into a single file na kuliserve hilo moja, mkito walikua na hili tatizo you could hack and download a song kwa kubadilisha a single value kwenye their javascript code nikajiuliza hivi they don't even double check kwenye server side pia before serving you the file, naona walishafix hili tatizo siku hizi.

    Tupunguze uvivu.
     
  2. S

    Software Engineer JF-Expert Member

    #21
    Aug 2, 2016
    Joined: Dec 20, 2014
    Messages: 304
    Likes Received: 36
    Trophy Points: 45
    Diploma gani mtu hajui PHP? Chuo gani hicho?
     
  3. Upepo wa Pesa

    Upepo wa Pesa JF-Expert Member

    #22
    Aug 2, 2016
    Joined: Aug 8, 2015
    Messages: 7,179
    Likes Received: 6,638
    Trophy Points: 280
    Umeona uzi mkuu??? Mbona kuna mengi yamesemwa au umeona tu php mhandisi wa software?!!

    Embu tupe mawazo yako software engineer
     
  4. v

    vicheche wawili JF-Expert Member

    #23
    Aug 2, 2016
    Joined: Sep 1, 2015
    Messages: 4,711
    Likes Received: 2,145
    Trophy Points: 280
    mkuu nishakuelewa. ivi ukisoma language moja kama html au javascript haitoshi kusimamisha website moja ya nguvu kama jf, fb n.k?
     
  5. v

    vicheche wawili JF-Expert Member

    #24
    Aug 2, 2016
    Joined: Sep 1, 2015
    Messages: 4,711
    Likes Received: 2,145
    Trophy Points: 280
    language moja haijitoshelezi kufanya kila kitu kwenye page nzito kama jf, fb n.k mh javascript au html?
     
  6. ub16

    ub16 JF-Expert Member

    #25
    Aug 2, 2016
    Joined: Feb 19, 2013
    Messages: 389
    Likes Received: 35
    Trophy Points: 45
    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.
     
  7. Graph

    Graph JF-Expert Member

    #26
    Aug 2, 2016
    Joined: Jul 20, 2016
    Messages: 1,307
    Likes Received: 2,557
    Trophy Points: 280
    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.
     
  8. Upepo wa Pesa

    Upepo wa Pesa JF-Expert Member

    #27
    Aug 2, 2016
    Joined: Aug 8, 2015
    Messages: 7,179
    Likes Received: 6,638
    Trophy Points: 280
    Kuna Tofauti gani kati yaweb developer na web designer??
     
  9. ub16

    ub16 JF-Expert Member

    #28
    Aug 2, 2016
    Joined: Feb 19, 2013
    Messages: 389
    Likes Received: 35
    Trophy Points: 45
    Web designers do frontend(kinda), they deal with the interface and interactions(Looks, colors, animations etc). In more developed companies or well established systems a Web designer role is done by UI/UX designer or anyone with knowledge of human-computer interactions. There's a science behind colors that complement each other, menu, arrangement etc and people in design know that best and are most times not expected to know any coding, they mock and design interfaces.

    Web developer is someone who writes code, usually expected to be able to do either frontend or backend(or both, a.k.a full stack). They can be involved in design decisions if there's no web designers. A web developer is expected to know just enough web design to make a decent looking website.

    The two roles are nowadays overlapping because most web developers "do web design" through using templates or established patterns for certain types of site, and web designers is becoming a small subset of UI/UX designers
     
  10. v

    vicheche wawili JF-Expert Member

    #29
    Aug 2, 2016
    Joined: Sep 1, 2015
    Messages: 4,711
    Likes Received: 2,145
    Trophy Points: 280
    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.
     
  11. Graph

    Graph JF-Expert Member

    #30
    Aug 2, 2016
    Joined: Jul 20, 2016
    Messages: 1,307
    Likes Received: 2,557
    Trophy Points: 280
    Hukupata point yangu naona, sio kila mtu atatengeneza a forum, forum ni rahisi kutengeneza given enough time, kuna web apps nyingi, kuna mobile apps pia zenye function mbalimbali. Kujua lugha mbalimbali doesn't mean mtu kasoma partially, its possible kumaster popular languages angalau tatu, kustick na language moja inalimits nyingi sana, cha muhimu sana kwenye programming than kumaster language ni programming itself, inayoinvolve abstract thinking, uwezo wa kucome up with an efficient solution, ukiwa na skills hizo sioni sababu ya kujilimit na language moja huku u can catch up language mpya very easily ukatumia strenghts zake kusolve matatizo.

    Siku hizi kampuni kama Google wanaweka machine learning kwenye apps zao almost zote, sasa fanya machine learning kwa kutumia Php uone ilivyo painful, utaishia kuport from other languages kama Java au C++. Kama mtu karidhika na apps ndogondogo za hapa na pale simlaumu, aendelee kua primitive, ila kama ni mtu ambitious anapenda kusolve big problems you can't run away from mastering at least 3 languages zenye strengths zake tofauti.
     
  12. Elly_corner

    Elly_corner Senior Member

    #31
    Aug 3, 2016
    Joined: May 5, 2015
    Messages: 119
    Likes Received: 145
    Trophy Points: 60
    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?
     
  13. Graph

    Graph JF-Expert Member

    #32
    Aug 3, 2016
    Joined: Jul 20, 2016
    Messages: 1,307
    Likes Received: 2,557
    Trophy Points: 280
    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.
     
  14. S

    Software Engineer JF-Expert Member

    #33
    Aug 3, 2016
    Joined: Dec 20, 2014
    Messages: 304
    Likes Received: 36
    Trophy Points: 45
    "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.
     
  15. s

    stormryder JF-Expert Member

    #34
    Aug 3, 2016
    Joined: Mar 23, 2013
    Messages: 764
    Likes Received: 144
    Trophy Points: 60
    Anzisheni open source project wengine tutacontribute.
     
  16. Upepo wa Pesa

    Upepo wa Pesa JF-Expert Member

    #35
    Aug 3, 2016
    Joined: Aug 8, 2015
    Messages: 7,179
    Likes Received: 6,638
    Trophy Points: 280
    What's your point mkuu??
     
  17. Upepo wa Pesa

    Upepo wa Pesa JF-Expert Member

    #36
    Aug 3, 2016
    Joined: Aug 8, 2015
    Messages: 7,179
    Likes Received: 6,638
    Trophy Points: 280
    kwanini usianzishe wewe mkuu??
     
  18. Uzalendo Installer

    Uzalendo Installer JF-Expert Member

    #37
    Aug 3, 2016
    Joined: Nov 8, 2014
    Messages: 1,483
    Likes Received: 1,145
    Trophy Points: 280
    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...
    Anyway mada nzur sana lkn changamoto ipo vyuon hii field ya computer inachukuliwa easy sana...asilimia 70 ya wahitim wote wa comp.eng..comp science n IT hawajui programming..
     
  19. S

    Software Engineer JF-Expert Member

    #38
    Aug 3, 2016
    Joined: Dec 20, 2014
    Messages: 304
    Likes Received: 36
    Trophy Points: 45
    Uhandishi wa Madaraja unahitaji skills za mambo mengi katika ujenzi e.g.
    1. Hali ya hewa
    2. Taarifa za udongo
    3. Uchoraji
    4. Teknolojia
    4. Resources kwaajili ya ujenzi
    5. n.k

    Katika Uhandisi wa software kunahitajika skills kibao e.g.
    1. Programming|Developing|Designing
    >Presentation layer(UI+UX)
    • Unajua UI/UX framework gani?
    • Unajua UI/UX language|scripts gani?
    • etc
    >Data layer
    • Unajua Data access framework gani?
    • Unajua Data access tech zipi?
    • etc
    >Application layer
    • Unajua Web|Desktop|Mobile framework gani?
    • Uko fit kwenye language zipi Java, C#, C++,C,PHP ?
    • etc
    2. Testing
    3. Project Management
    4. Analysis
    5. Misc-skills
    > Computer
    > Networking
    > Security
    > Deployment, Maintenance, etc
     
  20. Elly_corner

    Elly_corner Senior Member

    #39
    Aug 3, 2016
    Joined: May 5, 2015
    Messages: 119
    Likes Received: 145
    Trophy Points: 60
    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?
     
  21. s

    stormryder JF-Expert Member

    #40
    Aug 3, 2016
    Joined: Mar 23, 2013
    Messages: 764
    Likes Received: 144
    Trophy Points: 60
    sip vizuri kuaanzisha
     
Loading...