Sunday, May 10, 2009

If someone is not good in math, is it possible for him to learn Java & C++?

I'm working in computer field but now in programming but in graphic software but I'm interested to learn programming e.g. Java, C++ for the betterment of my future, the problem is I'm not good in math and few ppl told me that math is must for programming plz guide me about this. thanks

If someone is not good in math, is it possible for him to learn Java %26amp; C++?
Yeah, you need some math, depending on what you are actually doing. If you're using it for a simple desktop application, the math part should be minimal. But if you are making, a game or some special sort of software, not only will you need to have extended math knowledge, but also physics and the sorts.
Reply:Nothing is impossible, unless you think it is
Reply:I am Bs. in Comp. Eng. and pursuing Ms. off all the calculus (integration, differentiation, derivation with multiple parameter functions), linear algebra and differential equations I used non in any professional coding projects I worked on (I worked on a lot of them)





Computers and programming languages define the four elementary artihmetic operations (actually modulus too but C doesn't even have an exponantiation operator), binary bit shifts and conditional logics if (...) then ... else ... and loops.





If the project you work on doesn't involve math by its nature; most don't (i.e database applications, web applications, middleware and even most AI topics) except 3D game progamming require matrix operations, and scientific applications)





Although I liked calculus to some extent, it almost never helped me to code. Function theory have many similarities with modular coding but you don't need to know one for the other; and wether logiv or logical thinking is solely in the domain of mathematics is arguable.





Check source codes of operating systems (like linux), DB and web servers and all the other stuff and let me know if you see any kind of trigonometric function or derivatives.





P.S. Even if you need those advanced calculus and matrix operations there are plenty of open source libraries which will calculate them for you. (MMX so called Multi Media Extension op-codes are actually Matrix Mathematics Extension; even CPU do your matrix math with single op-code) Yet although it doesn't help almost at all, it won't hurt it either.





Loren Soth
Reply:Hi Jamil,


If someone is not good at maths, please do not venture into C++, however you can learn Java.That person has to put lots of effort to be a good programmer.Programming needs lots of logic with some maths.





If you think that , by learning JAVA/C++ you will get a better job, let me tell you , this is the just a HYPE.The whole thing is depends upon you.


Don't compare yourself with any of your friend who is in better position by learning JAVA/C++.Do think it by yourself and do the thing that you liked much.Then only you will be success.





If the the programming part is very tough for that person, there is always a lot of oppurtunity in IT field itself except programming.





Thank you.


TeamOneXpert.
Reply:Mathmatics will help computer progarmming in some extent that doesn't mean that Math geek can only do the Computer program. Even if u don't have much knowledge in math u can become a Programmer if u have Logic





Logic is the basic need of a computer programmer, I know a lot of people who is First class in Math but they are not good enough to apply logic.





So i can say absolutly u can go for it JAVA and C++ are easy aand good. but u need to learn anyone that is more than enough
Reply:Yer of course. Even though it dose help.





All you need to have when programming is a basic logical brain. So even a dumy can do it (well look at me :P)
Reply:I think so.





I wasn't that great at Algebra....but I was amazing with Calculus.. I know... it makes no sense... but I think that you can be good at some types of maths and not others...





So if you're not good at Math...you could be good at C++





I think you probably need to be good in LOGIC more than anything
Reply:yes.but you need analitical thinking
Reply:You definitely need to know basic algebra to be a decent programmer; however, if you ever want to make the big bucks and be considered a JAVA guru then you will also need to have a basic understanding of calculus. You will also need to take a class in discrete math. Sorry, but there are no shortcuts, the world of programming is cut-throat.
Reply:The most important skill that maths and programming have in common is logical thinking. You need that.
Reply:its not essential to be good at math but it helps





take a math course at the same time





hell im dyslexic and i have a good grasp of a lot of programming languages
Reply:Yes, you need to be good at math...but you don't have to be a math wizard. You have to understand incrementing, how variables are added, Boolean Ops, Logical Operators (AND, OR NOR, XOR, etc.), how to use a calculator (and coding a calculator is good practice ; ), how to convert number bases (DEC to BIN or HEX or OCT), etc. The main thing is to know what the desired output is and how to tell if it is right or wrong. Coding in JAVA or C isn't like coding in Assembly. Most Computer Science and Programming books show you a good portion of the math you need to know. And, it depends on the application...if you're making GPS software...uh, yeah, math is pretty important...if you're making an app to store a Pokemon Card Collection in a database and just plugging components together...well, math isn't such a big deal. Unless you're writing it all from scratch. The good thing and bad thing about programming in 2006 in JAVA and C++/VC++ is a lot of the 'nuts and bolts' are already wrapped, download a class or a library, add some application specific code...and voila! an app.





Frankly, since you know you have a problem w/ math, you should focus on building your math skilsl as well as your programming strengths.





Good luck and success to you!!!
Reply:i am glad to hear you are interested in java%26amp;c++.


as i know java%26amp;c++ learning require a lot of math job.


but i surely think everyone interested in something they like, they will overide everything to get success.


when there is a will, there is a way.





Good Luck, I think you will be successful.!!!!!!
Reply:Yes u can :)





check this out-





http://tinyurl.com/o5e26
Reply:I had a friend who a programmer but he failed his math when he is a student. For most basic tasks, you don't really need good math knowledge to learn basic level of programming . A logical brain is more needed. Math knowledge are normally needed when you want to do more advanced programming like coming out with formulas %26amp; so on.

house plants

What Program/Tool Can I use TO Host A Java/C Programming Competition? I want online problem submission?

I have ot find a program to be the server for a competition, i need some help in what to use. I want the server at minimun to accept java and c/c++ source files from teh user, as well as a correct/incorrect message.





Any Help is greatly appreciated!!!

What Program/Tool Can I use TO Host A Java/C Programming Competition? I want online problem submission?
As long as I have been programming, I have never heard of a SERVER that can CORRECTLY identify which programs are right or not, seeing as you could have many different styles of programming and have the same output.





If you want something like this, you can either make it yourself or you can pay someone to make it for you (a good idea would be a person who writes in php or some other advanced scripting language). This would be A LOT easier to do if it was a local (LAN based) contest. The internet complicates the whole process.





Good Luck.


How does a high level programming language (such as Java, C, C++) work??

How does a high level programming language (such as Java, C, C++) work? [How are instructions parsed? What does a compiler do? How does it work? How does the information get translated into bits and bytes that run on a chip in the end? How do these translated instructions get executed on the chip and how is the information compiled back and presented as console output to the user? etc.]

How does a high level programming language (such as Java, C, C++) work??
Computers only understand binary. This is a really clunky way for humans to work. The origional computers were programmed by litterally toggling manual bits on the machine itself. Each generation of languages have sought to make programming easier and more powerfull.





The way it works is with the programmer. They decide on which language will do the best job for what they are doing. There are some major catagories of these languages. Compiled vrs interpeted is a major catagory. Which you use depends on your needs. Compiled programs are actually compiled down into the binary codes that will run on your specific OS/Hardware. Interpited programs are compiled to byte code and then when they are run it is "interpeted" by a run time lib of some sort which converts the code to actual binary. Compiled programs obviously run faster as they skip the middle man. Interpited programs run on more than a single platform/OS. They also allow for changes on the fly and are more tolerant to upgrades in hardware/OS. Java, most forms of Basic, Python are some examples of interpited languages. C, Fortran, Assembler are some examples of compiled languages.





So depending on your language choice you start to code. If you use a third level/functional language you will write out your basic code design and then compile it to byte or binary. If you are using an OOP language there is an extra step in this. Your classes need to be resolved and external dependancies also need to be resolved. Non OOP languages often have dependancies as well but the overhead for them is considerably less. OOP (Object oriented programming) has the advantage of reusing a great deal of code. It's disadvantage is more complex code and slower compile times. The OOP portions are generally either external references or broken down into literal code removing all OOP features from the compiled output. If it is an interpited language it's left as a stub to an external reference. Any other language it's included into the code, depending on the optimization methods generally it's writtin literally into the code on every call.





Lets talk about compiling now. Interpited languages compile down into byte code. That means that they create short cut notation for calls to inbuild functions with any your coding tucked in. When run, this then expands into the dynamic functions with your code describing what to do with these functions.





In a compiled language the code is first compiled into objects. This is a totally different term from what is an object in code. Most modern compilors hide the obj files from users so you likely will not see or use one of these files today. In the past they were very usefull files at times. Objects are very similer to byte code in nature. They are shortcut notation for what you want to do with the code.





These objs are OS and version specific. An Obj from a Windows machine will not work on Linux and vice versa. They will contain references to functions that do not exist on the other platforms or have different calling parms and names for example. Other than differences like this there are other distinctions. For example the way memory is addresed and handled is differently in different OS's. The OBJ files have to know and use the specific mem model for that platform.





The next step is to reference the code. That is you address the functions, resolve dependancies between objects, wrap all your objects into the executable/lib you will be compiling and get it ready for conversion to assembler.





The assembler takes over from there. It will convert your instructions into Assembler macro instructions. Each computer contains a set of basic instructions that make a comptuer a computer. These calls are the foundations of any language. There are two main approaches to this. One is a richer set of assembler instuctions which is to say that many functions are already built into the bios. The other is to keep it simple and only include the bare necessities thus making the assembler build include that functionality. RISC is the name of the keep it simple approach. Motorla for example is a RISC processor. Intel chips are not.





The assembler will take your object code and convert it to Assembler code. These .asm files are stripped of human labels, comments and are the next closest thing to machine language. In the old days people would hand optimize this code for better performance. I know of nobody that does that today except for a few very specialized tasks.





The assembler will next take the code and convert it into machine language. Binary is not machine language, it is only the format machine language is stored in. If they built chips which understood trinary the machine language would still be the same but the format would be different.





What machine language is, it is a series of op codes which relate to specific bios calls and it is the data to be used with these calls. Mostly intererupt calls. It is formated to fit that processors memory, register and BIOS. So machine language for an Intel 32 bit machine is different than machine language for an Intel 64 bit or a Sun or a Motorola chip.





The results of this are saved to a file. It is marked as an executable by the OS. In widows an executable is any file with a certain extension. In Linux an executable is a file with a certain permission set. Unless told otherwise by the OS the Chp will treat any file it encounters as data and will expect another running program to tell it what to do with this data.





Now a user executes this program. The first thing that happens depends on whether it is interpited or compiled. If it is a compled executable then the program loads it's functions, allocates memory, and prepares to run. The low level technical details of use involve the use of registers and bios calls. Certain registers are for data, indexing and for function parms. The stack is where your program lives and how the CPU knows what to do next.





Think of the stack like a stack of plates. It is FIFO, that is first in first out. The stack holds both registry contents and executable instructions. Executing Assembler instructions frequently means saving contents of certain registers and then restoring them later on. For the execution of a program though think of the registry as a pile of instructions. The CPU takes one of the stack and does what it says to do. Then it takes the next one off the stack. What it does depends on the instruction it pulls off the stack and the contents of certain registers. An int 13 decimal will do one thing if the AX register has one value and a totally different thing if another value is in the AX for example. (I'm a little fuzzy, been a while since I did Asm programming. Pretty sure it's the AX which contains the minor part of an asm op code. Too tired to double check right now).





The program will continue to do this until it is interupted. In multi-tasking OS's the stack is controled by the OS. If an app wrests control from the OS then the OS will crash. Another frequent cause is if an OS does not protect it's memory very well (like Microsoft products) it can be corrupted intentionally or unintentionally by other programs This will lead to garbage or malicious instructions getting onto the stack.





What you see on the console is what the programs running tell the console to display. Most modern graphics cards also have a CPU onboard. Some the CPU is better than the core CPU of computers a decade ago. All devices on a computer are a port to the CPU. This can be a virtual device or a real device. Each will have an address and an interupt request Que. The IRQ is to allow the device to talk back to your computer. Since the architecture for some reason limits IRQs, they are frequently shared. A common problem with shared IRQs is the OS will get confused as to which device data from a shared IRQ is coming from. This is called an IRQ conflict.





The port is to the computer a sort of chute. It throws stuff through it and will grab stuff back when the IRQ bell rings. So to write to a hard drive for example the CPU will enact special routines which first describe the data to the hard drive then throw the data into the hard drive chute. The CPU will then check back later to see if there is an error but will often continue to shovel data before checking. The hard drive itself is expected to know how to write that data to the disk and check for corruption and such.





When it comes to video most video cards have drivers that allow a CPU to send shorthand to the video card. This means that nowdays they can offload much of the processing that once happened in the CPU to the vid card as well as give functionality that CPUs never could do. So the CPU shovels instructions and raw data at the vid card for interpitation. The vid card then translates this into what you see by sending specific signals to the monitor. Some of these are themselves short cuts which the vid card assumes all monitors know how to handle. In modern OS's the monitor is detected and what is sent to the vid card is modified by the monitor type. If the monitor is of an unknown it will send a generic set of instructions which all monitors are supposed to know. In this way having an off brand computer can slightly slow video displays.





To save console display, the CPU reads the array of data the vid card uses for display. Some applications actually manipulate this array though it's uncommon today.





I am sure due to how late it is, how long it's been since I did any significant Asm programming that I have some technical errs in this. The high level view is solid. The errs will be more of where something happens than what. I apologize for any errs.





To learn more about this learn how to program in Asm. It is as close to machine language as most people get. Most people don't want to get that close :)





As for what languages are compiled vrs interpited. If you are runnng a windows executable it is most likely interpited. VC for example claims to be compiled but requires run time libs which really make it an interpited language but without the advantages most interpited languages have. All server side languages are not only interpited but interpited multiple times. A PHP script for example is first passed to the web server, then to the PHP module then it is passed back to the web server and then to your browser which finally inteerpits it and passes it on to your CPU. Cold Fusion, asp, .net and so on go through the same process. Only client side scripts avoid this by runnng on your computer.
Reply:Too many questions in one thread. Break em up please.
Reply:The topic of your question is covered in college courses, where a significant portion of the course involves designing and building a compiler.





A compiler (as of the mid 80s when I took the course) is made up of 3 basic parts.





1. The scanner. The scanner reads each character in program and groups the characters together into "tokens." Tokens will be reserved words in the language, such as "if", "for", "class", etc. It also groups symbols, such as "%26lt;", "%26lt;=", "==", etc. Most characters left over are usually comments and identifiers, such as class names, method names and variables.





Scanners define their tokens using regular expressions, which can be converted into "finite automatans" which can sort them out.





Using a human analogy, the scanner is like a person seeing a bunch of letters and organizing them into words.





2. The parser. Parsers take the tokens and organizes them using a grammar. Most modern computer languages are defined using a "context free grammar" also called a BNF grammar. It makes sure that if you start a block with a { that it ends with a }. It groups for loops, if statements, switch statements, etc. The parser will determine of your program is consistent with the language. If it isn't, the parser will probably generate a syntax error.





Back to the human analogy, when people look at sentences, there's a grammar to it. Such as N-V-N, N-LV-N, N-V-N-N, etc. By parsing the sentence people can tell if the sentence follows the rules of the language or if the words are just random.





3. The semantic analyser. The semantic analyser takes the parsed program and puts meaning to it. It is at this step, that semantic analyser generates the object code. This is the code that really executes on your computer. It could be machine code, or higher level assembly like code, such as the Java Virtual Machine uses.





Back to humans, we put meaning to the sentence and decide what the words mean and the message being conveyed by the sentence.





The compiler kind does all of this in parallel. As the scanner determines a token, it passes it to the parser. As the parser completes a section of the grammar, it passes it to the semantic analyser. It does this until all characters are read.





People do the same as the read a sentence. We see the letters, form them into words, parse the sentence a word at a time and construct the meaning as we read the sentence.








After the compiler does all of this, it still doesn't mean your program is going to do what you want it to do; however, if will do exactly what you told it to do, even if that's not what you really meant.
Reply:The languages provides you some built-in things like keywords and functions that perform some predefined tasks. You develop a program using this prebuilts.





This prebuilts are defined by the language developer in the computer language bits and bytes.





Whenever you run a program it is compiled (in case of C,C++) or interpreted then compiled (in case of Java). This step makes sure of no syntatical mistakes in the program and produces a compiled code (.obj file (C,C++) or byte code (Java)). This compiled code is now executed i.e., instructions are performed as said.





This process of compilation is done by compiler. The compiler is a device, which translates high-level language to machine-level and vice-versa.





These instructions are given to the processor chips using ssome command words. The processor chips are also programmed.





Lets first see how a chip works. Every processor has a assembly language associated with it. This language commands are like writing words instead of series of bits or bytes. The command words are the series of bits whose each bit or group of bits defines a specific function. The processor recieves the command word reads each bit and produces the desired output in the form of series of bits and sends to the questioning device.





Actually this processor chip works with the voltages; 0 bit representing lower volt or zero volts and 1-bit representing higher voltage or any positive voltage (depends on the chip).





On recieving the result from the chip, the compiler converts it into the desired form and gives the output on the screen.





I tried to explain with my full potential, hope it will clear your doubts.
Reply:There is a lot of theory behind that..





In order to understand all concepts you will have to understand DIGITAL systems, Microcontroller Electronic Applications, Electical Electronic Circuits, Amplifiers and Transistors.





In short - the answer to your question is way too lengthy and cannot be explained in one sitting!!!





All i can explain to you is:





The commands you type in C/C++ programming gets converted to computer language, digital bits '0' and '1'. The computer buffer receives these signals and are processed, the input is fed and an output signal is generated in the digital form i.e. '0' and '1'. This is again converted to user readable form. This is the actual process.





The processing involved inside the CPU is making use of various transistors, gates that add, subtract, multiply, divide the bits. Multiplexers, Demultiplexers are used. There are several other devices involved.





You don't have to worry about it now, You will get ur chance once you are into Engineering Studies.
Reply:There are lot many subjects which one studies over 4 years Just to understand all the above u have mentioned.


In Brief. A high level language is Humane Readable. This is converted to assembly language (Bits and Bytes representation in English. E.g ADD 2,4. ). This language is specific to a Processor (Intel X86 Assembly language differs from SPARC or Alpha M/c language)


Assembly language is converted into Machine language (Bits and Bytes).


How To create Application That Creates VPN Connection Between two different Network Machine.On Java C?

Actually I Want To Create An Simple Application That will Create VPN Connection Between 2 PCs Or more


The PCs Are On Different Network.....





There Are some Software Like It hamachi and GGC,,, and many more ...


But i want to create my own Application


in any Language ... Java C#.net VB.net c++..





Plz Ans


Thanking in Advance

How To create Application That Creates VPN Connection Between two different Network Machine.On Java C?
Hi


with a fast google search I found this link. I haven't tryed it but lookes like its right
Reply:Hi, I think that if you are interested in connect 2 PC or around that number, why don't you try a peer-to-peer connection instead, I just think that a VPN it'll be harder and without the need (unless u need it, maybe I'm wrong). You could create a VPN client, but I think creating the architecture of a Virtual Private Network is kind of full time job... So, I think that you should check out how to create a peer-to-peer connection, there is two big reasons.. 1) Clients provide resources (bandwidth also) and 2)There are more information resources in the topic... There are Open source clients that connect in this kind of networks (such as Limewire...)and other, and you can check there source... That's just an idea, because you say that the computers can be in different networks...well, I hope that help...by the way.. I think Java is the way to go...really big networking libraries...


Other than Java and C/C++, what would you recommend in programming career?

I need to move up from IT helpdesk cr*p. What high level programming language would you recommend other than Java and C/C++.

Other than Java and C/C++, what would you recommend in programming career?
Get cracking on SoA - it's the next big thing!

garden centres

What is the relationship between web programming languages and others like C,C++,and Java?

I'm so interested in knowing if there is a relationship between programming languages for us to design webpages and those developed to help software makers achieve their own business-based objectives.





Is there any way php,asp,scripts,and other kind of platforms have something to do with the most commonly used programming languages such as C,C++,Java ?

What is the relationship between web programming languages and others like C,C++,and Java?
The general philosophy is the same. Personally learning VB and C++ made me think of web languages as a piece of cake.





As there is a wide range of web programming languages many of them vary from interpreted (ie. Javascript) to compiled (ie. Java) and also some use Object Oriented features.





http://en.wikipedia.org/wiki/Web_program...


http://en.wikipedia.org/wiki/Interpreted...


How do I compile/build a java/C++ file in XCode?

I am running xCode, but when I load up a blank Java or C++ file and write a simple program, I cannot build the file and run it. Any advice?

How do I compile/build a java/C++ file in XCode?
Here is a very simple get you started tutorial. There is also one on YouTube but it is too small and there is no sound but it might help.


http://www.youtube.com/watch?v=LNEEoucyC...


What is the best programming language to learn in today's job market. C++, Java, C#, .Net?

I've self studied C++ and have an aptitude for it but have been told by career counselors that C# , Java and .Net are the best way to go since, C++ is mostly outsourced overseas. I don't have an educational background in Computer Science or a technical field. I have a BA in sociology. Any suggestions?

What is the best programming language to learn in today's job market. C++, Java, C#, .Net?
Well Java and C# are quite similar... and .Net uses C# so you can't really go wrong with either one or both.
Reply:Java.


It's platform independent and many of the criticisms against the language are becoming N/A. There is a real-time version which will continue to become more popular. The processing and memory resources make the JVM overhead negligible.