Is there any relation between the programming languages and your depth of understanding how computers work? | Sololearn: Learn to code for FREE!

+34

Is there any relation between the programming languages and your depth of understanding how computers work?

For example, if I learn C++ Or JavaScript, will it make difference on how good I understand general computer science topics?

1/21/2019 12:48:28 PM

Celestino🇰🇪🇫🇷

28 Answers

New Answer

+62

It could. C and C++, for example grants you access to play with pointers to get a better understanding how memory is allocated, how variables are referred to by their addresses. These of which you may not frequently/usually do in other languages. Low level languages have less abstraction, allowing us to observe how it "talks" to the hardware. High level languages focus more on the application of algorithms instead of what goes under the hood. That said, "depth" is subjective. Different languages simply facilitate the learning process for different fields in CS.

+26

I believe when you keep coding you will encounter problems directly related to computer science and when you keep digging that's how you get deep in CS. As much as C and C++ are favourites here any programming language can be useful since CS is so wide. For example when you create a slow program you may want to understand time complexity of different algorithms, parallelism, multithreading and so on. By understanding them you get better in cs too

+17

C and C++ really help me to understand computer architecture. Especially in managing the memory space.

+13

The deeper you go into programming, the more you'll know about it. There's a universal backbone to programming....

+13

✨✨Yes there is always an relationship between programming language and how computer works, compiler operating system design of computers all made by using programming language like c, c++, vhdl, vlsi, matlab, every language written in some rules and grammar to interpret and make relationship with the platform like Cloud computing is provide an platform to execute all kinds of programming language by fulfil their needs and requirements.✨✨ ⏩C, C++ is widely used to show relationship with the architecture of computer and low level language. ⏩Computer architecture in which all processing of register and internal working of assigning address and resources to any task is described. ⏩ Computer networks are another field where network of computers are made using routing algorithm which is made by using c, c++,python language by implementing neural network approach. ⏩Theory of computation is another by which computing capabilities of computers is design with the help of programming language ⏩Digital logic design is another field which structure coding and working is done by the C language and vhdl language using xillinx or other simulators ⏩FPGA is another field by which internal working of computers and how it internal parts are made is designed using matlab programming language ⏩Compiler and operating system is designed using C language and all the phases of the compiler is designed using C and C++language ⏩Operating system and it's algorithm like scheduling, fitting, theorems all are designed using C, C++ ✨So there are very strong link between programming language and computers working so if you worked in C or any low level language then to know the architecture and internal parts and their working deep knowledge will gives you good understanding like for example you have to made an 4 bit alu or 4 bit counter then if you know about internal working and deep knowledge of computers working then you can easily made the logic and implement that with C, C++ or any languages .

+11

So,low-learning level languages give you deeper understanding in computer science?

+9

For higher level languages, you don't need a deep understanding of the inner workings of computers but you need an understanding of program flow (control structures) and data organisation.

+7

C LANGUAGE IS BASIC IT TELLS 1. WHAT IS PROGRAM 2. HOW TO CREATE 3. HOW TO BUILD LOGIC NEXT CPP IT WILL HELP TO UNDERSTAND WHAT IS OOP JAVA MAKES YOU PERFECT IN REAL TIME PROGRAMMING AND IT IS BASIC FOR SO MANY TECHNOLOGIES TO LEARN OR TO SUSTAIN IN IT INDUSTRY ONCE YOU COMPLETED JAVA YOU CAN LEARN ANY TYPE OF COURSE VERY EASYLY FOR EX PYTHON IS 1. PROGRAMMING LANGUAGE 2 SCRIPTING 3 SHELL BUT IT IS INTRODUCED BASED ON JAVA ONLY

+6

Keeping it short, no. A programming language doesn't explain how it does its calculations by itself, but instead you learn it by different means (college, internet or whatever).

+4

Thanks Hatsy Rei

+4

What about Python sree harsha

+4

Is their any relation between how you communicate to people and how you understand their feelings?

+4

+3

Yes and no. The programming language you choose to use will have an impact on how well you understand how computers work. For example, JavaScript and PHP don't use static typing (i.e., defining a variable with a specific data type that you must respect throughout the program), but C++, Java, and C# do. In JavaScript, you usually define every variable (whether a string, an integer, or a decimal number) with the keyword "var", while in statically typed languages, you would use special keywords for each type (such as "string" and "int"). All the programming languages do virtually the same things behind the scenes (with some differences that affect speed and performance), so knowing that a string isn't the same thing as an integer is important in any language. In this way, so-called lower level languages like C++ and Java are slightly better for getting a more complete understanding of how to program best, because they don't hide as much behind the scenes, and require you to understand more about how computers work. However, you probably aren't going to be learning just one language anyway. So far, I've learned or dabbled in 4+ programming languages, and I'm not finished yet. So really your question is more about which programming language you should learn first, and not which one you should learn period. For me, I learned JavaScript first, and then I took a class on C++. The answer depends on what you feel more comfortable doing. I personally believe it helped me to get some of the very basics down in JavaScript before heading over to C++, but if you feel confident in your learning skills, you might want to do the opposite. As far as "general computer science topics," programming languages have many similarities. If you spend enough time learning one language, what you learn will help prepare you to learn any other programming language, and the more languages you learn, the more they all seem familiar. Finally, don't forget to think about which languages are often used for what you want to do, if you know.

+2

As language is a mean to talk with -machine in this case- something/someone. I learned C++ (& Python) and now we chat, my computer and I. It's becoming easier and easier to teach it and in return it's becoming more understandable. I hope the day will come when we mutually understand each other. Though Python (being high-level language) is like assigning a task to an adult computer which doesn't need each and every detail regarding the job to make it done. But C++ makes me feel like I'm training a child who has very basic knowledge of what to do (arithmetics, point to a memory address, repeat, etc.). We humans, the most complex machines, the very first thing we learned was to talk and then boom...

+2

When interacting with computers, (as when you interact with humans, possibly) the language you use *shapes* your understanding of how it works and behaves. It is best to diversify and practice several types of languages, as to see things from different perspectives, and to build a deeper understanding of computer systems and what is possible.

+2

The more you go, the deeper it becomes. Programming becomes something that I naturally do. And that's not going to go away, despite what other women might say or what other men might say. One thing first and foremost, is NOT to be afraid of what anyone else say. Don't ever allow anyone to try to choose your destiny for you. You set your destiny forward and continue on the straight path. You got some jerks out there, but eventually, they'll be put in check. It's called Karma. True people that love you will stand for you on your behalf. Others that don't will fall for deception and tricks.

+2

Apple Blossom I'm a huge fan of your Rachel Platten moment advocating for a strong empowerment and perseverance anthem. 😉 However, it's not clear how this is relevant to this question.

+1

Yes, surely, Because if you know the working of computers it would strongly help you to optimize code of any programming languages you use.

+1

I think a little, to me it can be compared with the relationship between web development and Internet of Things; they look similar but knowing one does not mean you know the other also.