Programming Crew!

na nyie ma programmer mnatuacha solemba........tufafafanulieni C++ ni kidudumtu gani?

If there is one language that defines the essence of programming today, it is C++. It is the preeminent language for the development of high-performance software. Its syntax has become the standard for professional programming languages, and its design philosophy reverberates throughout computing. C++ is also the language from which both Java and C# are derived. Simply stated, to be a professional programmer implies competency in C++. It is the gateway to all of modern programming.
 

If there is one language that defines the essence of programming today, it is C++. It is the preeminent language for the development of high-performance software. Its syntax has become the standard for professional programming languages, and its design philosophy reverberates throughout computing. C++ is also the language from which both Java and C# are derived. Simply stated, to be a professional programmer implies competency in C++. It is the gateway to all of modern programming.

Hapo author hajawatendea haki maprogrammer wengi.
Kuna professional programmers wa PHP, kuna professional programers wa Vb.net ambao hawajagusa C++.
 
Hapo author hajawatendea haki maprogrammer wengi.
Kuna professional programmers wa PHP, kuna professional programers wa Vb.net ambao hawajagusa C++.

Unachosema ni kweli, Kuna programing language nyingi, Perl, Python etc lakini, C++ is a general purpose programming language with a bias towards systems programming that
• is a better C
• supports data abstraction
• supports object-oriented programming
• supports generic programming.
 
I warned this guy na majibu atakayopata. :)

Programming languages zinatupa tu njia ya kuimplement solutions to problems. Ukifikiria programming languages ndio solutions to problems, then ni rahisi sana kudhani kwamba your favourate programming language ndio "the general purpose" and the best language and it is the solution to all your problems.

Anayezoea C/C++ atasema yake ndio the best, wa java naye atakwambia hivyo hivyo, wa C# ndio kabisa na atakwambia C# ndio future, etc. Programming languages zinageuka kama dini hivi.

Ukiziangalia languages kama vifaa tu, pengine utaona kwamba ukiwa na kazi inayotakiwa kufanyika ndio unachagua kifaa (na sio vise versa). Kama katika vifaa unavyojua kuvitumia hakuna kinachofaa katika kazi hiyo, basi either utasema huwezi na kuachia kazi, au utatafuta kifaa kinachofaa na utajifunza kukitumia.

Sasa anayesema C++ ndio general purpose programming language, kwa mfano, sidhani kama atafurahi akiambiwa atengeneze website fulani kwa kutumia hiyo C++. Au wa java, sidhani kama atapendezwa akipewa haka ka POS unit nilichonacho hapa ambacho SDK yake supports C/C++ only. Lakini wote wawili watakwambia programming language wanazozifahamu wao ndio ze besti.

Jamani, choise ya programming language inategemea na ni software ya aina gani inatakiwa itengenezwe, na hiyo software itakimbizwa kwenye environment gani. Ukianza kwa kuchagua language, utaishia kuchagua aina ya problem unazoweza ku-solve.

Na kama uko serious na programming, learn all the languages you can, be willing to learn when u have to. Namna hiyo mbona watakutaka! :)
 
Last edited:
I warned this guy na majibu atakayopata. :)

Programming languages zinatupa tu njia ya kuimplement solutions to problems. Ukifikiria programming languages ndio solutions to problems, then ni rahisi sana kudhani kwamba your favourate programming language ndio "the general purpose" and the best language and it is the solution to all your problems.

Anayezoea C/C++ atasema yake ndio the best, wa java naye atakwambia hivyo hivyo, wa C# ndio kabisa na atakwambia C# ndio future, etc. Programming languages zinageuka kama dini hivi.

Ukiziangalia languages kama vifaa tu, pengine utaona kwamba ukiwa na kazi inayotakiwa kufanyika ndio unachagua kifaa (na sio vise versa). Kama katika vifaa unavyojua kuvitumia hakuna kinachofaa katika kazi hiyo, basi either utasema huwezi na kuachia kazi, au utatafuta kifaa kinachofaa na utajifunza kukitumia.

Sasa anayesema C++ ndio general purpose programming language, kwa mfano, sidhani kama atafurahi akiambiwa atengeneze website fulani kwa kutumia hiyo C++. Au wa java, sidhani kama atapendezwa akipewa haka ka POS unit nilichonacho hapa ambacho SDK yake supports C/C++ only. Lakini wote wawili watakwambia programming language wanazozifahamu wao ndio ze besti.

Jamani, choise ya programming language inategemea na ni software ya aina gani inatakiwa itengenezwe, na hiyo software itakimbizwa kwenye environment gani. Ukianza kwa kuchagua language, utaishia kuchagua aina ya problem unazoweza ku-solve.

Na kama uko serious na programming, learn all the languages you can, be willing to learn when u have to. Namna hiyo mbona watakutaka! :)


Mkuu nilisema nataka kudevelop Statistical software based on Bayesian Probability( Bayes Theorem)

"The essence of the Bayesian approach is to provide a mathematical rule explaining how you should change your existing beliefs in the light of new evidence. In other words, it allows scientists to combine new data with their existing knowledge or expertise"

Mathematically, Bayes' rule states


posterior = (likelihood * prior)/ marginal likelihood

or, in symbols,


P (A | B) =[ P (B | A) P (A)]/ P (B)

where P(A|B) is referred to as the posterior; P(B|A) is known as the likelihood, P(A) is the prior and P(B) is generally the evidence and is used as a scaling factor.

Sasa nilitaka ushauri tu wa best programing language kati VB.Net na C++
 
Mkuu nilisema nataka kudevelop Statistical software based on Bayesian Probability( Bayes Theorem)

"The essence of the Bayesian approach is to provide a mathematical rule explaining how you should change your existing beliefs in the light of new evidence. In other words, it allows scientists to combine new data with their existing knowledge or expertise"

Mathematically, Bayes' rule states


posterior = (likelihood * prior)/ marginal likelihood

or, in symbols,


P (A | B) =[ P (B | A) P (A)]/ P (B)

where P(A|B) is referred to as the posterior; P(B|A) is known as the likelihood, P(A) is the prior and P(B) is generally the evidence and is used as a scaling factor.

Sasa nilitaka ushauri tu wa best programing language kati VB.Net na C++

Nadhani nilikuelewa. Na nikakuambia jibu utakalopata hapo litakuwa ni tata kwa sababu swali lako ni tata. Ni tata kwa sababu definition ya "best" hapo ni subjective. Na kuna uwezekano utapata majibu tofauti na mengi ambayo yote yako sawa, na utakuwa hujapata jibu mahususi kwa sababu itabidi upitie tena majibu hayo kuanagalia lipi ndio "best". Na sitashangaa ukiuliza tena "kuendana na majibu hayo hapo juu, which is best kati ya VB.Net na C++". Na tutaanza upya tena :).

Hiyo formula hapo ina-involve kuzidisha na kugawanya. Na unaweza kutumia programming language yoyote kufanya hivyo.

Kwa kufikiria kirahisi-rahisi, swali lako linaweza kuwa paraphrased hivi:
nataka program i-prompt namba tatau: P(B|A), P(A) and P(B). Halafu inipe jawabu linalopatikana baada ya kuzidisha P(B|A) na P(A), na kugawanya kinachopatikana hapo kwa P(B).
Je, hicho ndicho unachokitaka? Kama ndicho basi programming language yoyote ni "best", unless you qualify best kwako ni nini. Unapomuachia anayetoa jibu, ndipo discussion inapokuwa ndefu bila sababu. Mtu wa vb yeye ata-interpret "best" ni user interface prettiness. Mtu mmoja wa C++ ata-interpret "best" ni speed, mwingine ni ability to deploy in multiple platforms. Mtu mmoja wa VB atakwambia "best" ni user interface prettiness, mwingine ni kwamba VB ni rahisi kutumia. Je, best kwako ni nini? ni user interface prettiness? ni speed? ni nin?

Anyways, I doubt unachokitaka mwisho wake ni hapo. Na kama unachokitaka ni zaidi ya hapo, unataka anayekusaidia aote unachokitaka wewe kifanyike na hiyo program ni nini?

Kama specification ya unachokitaka zipo kichwani, the best way to find out ni kuanza kuandika code ku-implement unachotaka.

Otherwise kama unataka mtu mwingine akusaidie, unahitaji kumsaidia kuelewa software unayoitaka bila ambiguities. Lasivyo unakaribisha majibu mengi mno, na unakaribisha discussion ndefu sana.

Soma hii
[ame="http://en.wikipedia.org/wiki/Software_Requirements_Specification"]Software Requirements Specification - Wikipedia, the free encyclopedia[/ame]

Pengine njia mojawapo ya kukusaidia ili upate majibu yatakayokusaidia ni kusema specification zako to the details. Jijibu maswali kama:

- Program hiyo ita-run kwenye mazingira gani? Inawezekana unataka ikimbizwe kwenye linux tu. Anayekusaidia atajuaje?
- Input ni nini, na ungependa input iwe collected vipi? Pengine GUI sio muhimu kwako, na pengine ungependa imput iwe kwenye command prompt. Na better still inawezekana data zako zipo kwenye file ambalo unajua mwenyewe ulipolitoa (pengine ni data za alien visits to earth sent to you by some timespace machine gadakoli). Au inawezekan unataka data ziingizwe kwenye Excel kwanza, au pengine GUI kwako ni muhimu sana.
- Sema unataka nini unataka program ifanye na hiyo input.
- Unategema output iwe nini? Ungependa output itolewe vipi?
- Developement OS yako ni ipi? usikute uko kwenye linux halafu unaulizia VB.Net .

Best way: do your homework, do it yourself on both languages you will find out which is best and learn a great deal on the way, and get what u will never get from answers here: EXPERIENCE!
 
Last edited:
Nimekupata mkuu. Siko kwenye Linux, niko kwenye Windows Environment Nina Compiler ya Bolland na Ms Visual studio 2005.

Hiyo formula ni basic kwenye hiyo software. lakini nitakwenda zaidi ya hapo. Nita-involve more advanced methods such fuzzy logic, Neural Network and Support Vector Machines.

Lengo kuu la hiyo software ni "Pattern Recoginition". Application yake nataka iwe zaidi kwenye Envormental issues na Physical Land resouces.
 
The Farmer, umeshawahi kufanya programming, au ndio unataka ujifunze?

Pengine tukijua uwezo wako kwa sasa uko wapi, itakuwa rahisi kufikiria njia nzuri zaidi ya kukusaidia.
 
OK!!! Mimi nataka ku-develop software ambayo itatumia Bayesia Statistics/probability. Which language is better kwa hii kazi, Visual Basic au C++???

In my masters dissertation nimefanya expert system ambayo ilikuwa inatumia bayesian probability ku reason with uncertainties ambazo zipo associated na expert system rules. Nimetumia java kwenye implementation. The reason kwanini nilitumia java ni sababu nilikuwa nimeincorporate prolog ambayo kweye java kuna JNI amabyo inakuwesha ukiwa ndani ya java kucall program iliyoandikwa kwa kutumia prolog. Lakini hizo bayesian updating algorithms can be implemented in any language
 
Nilishafanya programming.

That is good!

Kwa hivyo nadhani umeshagundua kwamba programming is not about finding solutions, but about implementing solutions.

Tuchukulie kwa mfano unataka kutengeneza program ambayo itakuwa inachukua list ya namba, halafu inatafuta wastani wake. Kama hujui wastani unatafutwa vipi, basi hakuna language inayoweza kukusaidia.

Lazima ujue step gani utazichukua ili kutafuta wastani. Ambazo ni kutafuta jumla ya namba kwa kujumlisha namba zote zilizo kwenye list hiyo, then kutafuta idadi ya namba kwenye hiyo list, halafu kugawanya jumla ya zile namba kwa idadi yake. Wanaita Algorithm ( [ame=http://en.wikipedia.org/wiki/Algorithm]Algorithm - Wikipedia, the free encyclopedia[/ame] ). Hii haihusiani na programming. Hizi ni step ambazo ukizichukua utapata jawabu, hata kwa kutmia karatasi na peni. Sasa programming inahusu kuielekeza computer ili ifuate hizo steps ili kukutafutia wewe jawabu.

Sasa kujibu swali lako, both VB.Net na C/C++ zaweza kukamilisha huo mradi wako, provided unaseza kuainisha steps gani zinatakiwa zichukuliwe na hiyo program ikipewa input, na inatakiwa itoe vipi output. Ningekushauri ufanye ana-ana-ana-do halafu upick language mojawapo ya hizo. Waweza kuijaribu kwa hata siku kadhaa, na utakuwa ushapata jibu kama inaweza kufaa au ama. Baada ya hapo waweza kupic nyingine yake.

Hiyo project yako hiyo siyo ndogo mwanetu. Ningekushauri kabla hujaanza kufikiria jinsi ya kuimplement fuzzy logic, Neural Network and Vector Machines kwenye hiyo software yako , jaribu kufanyia mazoezi skills zako kwenye VB.Net and/or C/C++.

Sasa kwa sababu wewe umeshawahi kufanya programming, pengine unajua tayari kuhusu algorithms na data structures. Pia unajua kuhusu program control an conditioning (loops, if then else, etc).

Na ningekushauri fanyia mazoezi vitu hivi, uvielewe na ujue jinsi ya kuvi-program kwenye languge unayoifanyia mazoezi. Vitakusaidia sana:
1) Data structures ( [ame=http://en.wikipedia.org/wiki/List_of_data_structures]List of data structures - Wikipedia, the free encyclopedia[/ame] )
Jua data structures ambazo zipo supported natively na language yako. Pia jua jinsi hizi data structures zinavyofanya kazi. Kwa zile ambazo hazipo supported na language yako, jua jinsi ya kuzi-implement.
Huna haja ya kuzimaliza zote, na angalau moja moja kwa kila group ni vizuri.

2) Algorithms: Fanyia mazoezi hizi na uzielewe, zinasaidia kuelewa what algorithms are about, na pia zinaweza kukusaidia wakati una-implement solution yako:
Sorting algorithms: [ame=http://en.wikipedia.org/wiki/Sorting_algorithm]Sorting algorithm - Wikipedia, the free encyclopedia[/ame]
Angalau quick-sort na marge sort
Searching algorithms: [ame=http://en.wikipedia.org/wiki/Searching_algorithm]Search algorithm - Wikipedia, the free encyclopedia[/ame]
Angalau linear search and binary search

Hopefully baada ya mazoezi hayo utakuwa umeshapata mwanga nini kinaweza kufanyika kwenye language yako, kinafanyika vipi, na nini hakiwezekani.

Finally sasa jaribu hili zoezi:
1. Jaribu ku-construct simple problem(s) ambayo unadhani program yako itatakiwa ku-solve.

2. Halafu jaribu kutengeneza algorithm(s) kusole hizo problems. Hopefully algorithm zako sasa zitakuwa zinatumia Bynesian formula somewhere. Na hii yote unaweza kufanya kwa karatasi na peni. Kama haiwezekani, hakuna programing language itakayo kusaidia.

3. Baada ya kufanikiwa ku-design algorithm ambayo unadhani itasolve problems ulizo-construct at step 1., Jaribu ku-implement hizo algorithms zako kutumia one languge of your choice.

4. Run program yako, ipe input, na angalia kama inatoa output unayotaka.
 
Nilishafanya programming.

Kama unatumia Windows na unaweza kupata copy ya Visual Studio basi tumia Vb.Net. Learning curve yake ni ndogo zaidi.

Unaweza pia ukadownload copy ya Visual Studio Express kutoka kwa Microsoft, hii ni bure lakini imeondolewa feature ya kutengeneza final package so ni nzuri kwa kujifunzia Vb.Net, C#.Net, Asp.Net etc.
 
Wadau nimewapata vizuri sana. I have several eBooks in this Project for the rest of JF we can share some of the books. At the moment JF haiko fine hapa kwangu inashindwa ku attach files, nita attach later.
 
The Farmer, hiyo Borland C++ uliyonayo ni version gani? Nadhani waliacha kutoa version mpya siku nyingi sana. Pengine ungefuta ushauri wa Kang kupata Visual Studio, unaweza kuitumia kwa ajili ya C++ stuff.

Pia kwa C++, kuna Eclipse ( Eclipse C/C++ Development Tooling - CDT ). Inaweza kuwa tricky kidogo kuanzia, lakini badae utapenda. Ni free, na unauhakika wa kupata versions mpya kila zinapotoka hata kama umeuwawa.:)

Kama upo dar ni PM, tunaweza ku-arrange ukapata Visual Studio 2005.
 
The Farmer, hiyo Borland C++ uliyonayo ni version gani? Nadhani waliacha kutoa version mpya siku nyingi sana. Pengine ungefuta ushauri wa Kang kupata Visual Studio, unaweza kuitumia kwa ajili ya C++ stuff.

Pia kwa C++, kuna Eclipse ( Eclipse C/C++ Development Tooling - CDT ). Inaweza kuwa tricky kidogo kuanzia, lakini badae utapenda. Ni free, na unauhakika wa kupata versions mpya kila zinapotoka hata kama umeuwawa.:)

Kama upo dar ni PM, tunaweza ku-arrange ukapata Visual Studio 2005.

Ni Boland C++ version 5, hata mimi naona kutumia Visual C++ inaweza kuwa vizuri zaidi. Asante mkuu Visual Studio 2005 CD1 and CD2 ninazo mkuu.
 
Unless you are using the visual side of C++ on Visual Studio, I would advise using the MigGW.

MinGW, a contraction of "Minimalist GNU for Windows", is a port of the GNU Compiler Collection (GCC), and GNU Binutils, for use in the development of native Microsoft Windows applications. Offered in easily installed binary package format, for native deployment on MS-Windows, or user-built from source, for cross-hosted use on Unix or GNU/Linux, the suite exploits Microsoft's standard system DLLs to provide the C-Runtime and Windows API. It is augmented by additional function libraries for improved ISO C-99 compatibility, and further, by community supported add-on tools and libraries, many pre-built, many more in the form of "mingwPORTs", to be built by the end user.
If you like using IDE them make use of the following IDE: Visual-MinGW

There is also Cygwin
Cygwin is a Linux-like environment for Windows. It consists of two parts: a DLL (cygwin1.dll) which acts as a Linux API emulation layer providing substantial Linux API functionality. and a collection of tools which provide Linux look and feel.
The Cygwin DLL currently works with all recent, commercially released x86 32 bit and 64 bit versions of Windows, with the exception of Windows CE.

And both Cygwin and MinGW are open source, so no need to spend money on a compiler that you can get for free. And if you want to develop application with a GUI then look at KDevelop or Qt as they are available for free.

Visual-MinGW
035b-tab.gif
 
In my masters dissertation nimefanya expert system ambayo ilikuwa inatumia bayesian probability ku reason with uncertainties ambazo zipo associated na expert system rules. Nimetumia java kwenye implementation. The reason kwanini nilitumia java ni sababu nilikuwa nimeincorporate prolog ambayo kweye java kuna JNI amabyo inakuwesha ukiwa ndani ya java kucall program iliyoandikwa kwa kutumia prolog. Lakini hizo bayesian updating algorithms can be implemented in any language

Thanks mkuu...
 
Okay then that makes sense to use VS. So the application you are developing is to be used only on MS Platform or you are planing to run it on Solaris, Mac, Linux, BSD, etc? As that is what I usually do before choosing what C++ Compiler.

But again that is me with my need for my applications to be portable to other platforms, with less or not alterations to the source code. All the best, I have never used the MS C++ compiler. I tried the Borland compiler once and I could not get the sockets to work properly so I reverted back to the GNU compiler that comes with most Linux distribution.
 
Back
Top Bottom