hello!
I was wondering weither I can write a System like ext4 HTFS FAT with c++ programing language, and if there's a link to a book that explain all the fundimental of programming language and how they involved ! please answer back !
I have taken an electronics course before that used C. The reason C is preferred when you are playing with the hardware is mostly because of overhead issues. The problem is not really most of the points computerfox mentioned. The issue is mostly that you may or may not be working with a circuit that has low RAM and storage capabilities (as low as 1KB of RAM and a couple of megs of storage (at best)). C++ has many nice features that on paper makes it a more attractive language than C; however, these C++ features will make your binary fatter and will increase the RAM requirement for your program. C, on the other hand, forces you to rewrite some of these features from scratch and/ or rethink your strategy such that you make leaner and faster code. Now, you may think 1 KB of RAM is nothing, but it is actually a considerable amount when using C and when you write smart and efficient code. Thus, the hierarchy is to write the foundation of your system (low level layer) in C or assembly, write the intermediate components in C++ or other similarly strong language, and write the uppermost layers with languages as simple as scripting languages like Python. My rule of thumb is, if I am constraint by the circuit and/or the feature is critical to my solution to the problem, I should probably use C. I hope my explanation helps.
7 1725
Rabah,
What's with all the yelling in the threads?
As I explained in the original thread, C++ isn't used in too many places other than education as C is still the preferred. C++ is very high-level so systems are especially not written in C++. Even Windows is written in C until it can bring in the .Net framework. C has the best of both worlds, high level and lower level like assembly. C++ was C re-written.
A simple Google search could have given you more information: https://www.google.com/?gws_rd=ssl#q...ramming+with+C
There would also be memory allocation issues, memory leak issues, functions in C++ that aren't recognized, C++ is not meant for low level programming.
Here's more information on low level development: http://wiki.osdev.org/Main_Page
Hope that helps!
I have taken an electronics course before that used C. The reason C is preferred when you are playing with the hardware is mostly because of overhead issues. The problem is not really most of the points computerfox mentioned. The issue is mostly that you may or may not be working with a circuit that has low RAM and storage capabilities (as low as 1KB of RAM and a couple of megs of storage (at best)). C++ has many nice features that on paper makes it a more attractive language than C; however, these C++ features will make your binary fatter and will increase the RAM requirement for your program. C, on the other hand, forces you to rewrite some of these features from scratch and/ or rethink your strategy such that you make leaner and faster code. Now, you may think 1 KB of RAM is nothing, but it is actually a considerable amount when using C and when you write smart and efficient code. Thus, the hierarchy is to write the foundation of your system (low level layer) in C or assembly, write the intermediate components in C++ or other similarly strong language, and write the uppermost layers with languages as simple as scripting languages like Python. My rule of thumb is, if I am constraint by the circuit and/or the feature is critical to my solution to the problem, I should probably use C. I hope my explanation helps.
All true.
C++ is to avoid coding mistakes in applications. Plus there are compiler generated calls that you need to be aware of. Hence the bloat.
There are no applications close to the metal so I wouldn't be using C++ there.
Thank you for those special answers !
if for example I want to develop softwares for windows witch language should I chose !
and the question that delve in my head this time what is the
difference between assembly and c ? if they are both low level programming languages !
1- Is assembly included in c ? or c is an advanced version of assembly ?
2-is c programming languages do every thing that assembly language do -?
What kind of software for Windows?
If it's an application that is to run on the web you might be using C#. If it is an internal OS extension feature yu will probably need to use Microsoft's version of C - plus all their naming conventions (don't get me started).
As to assembly language and C it's this way:
The C compiler generates assembly code. This assembly code is converted machine language using an assembler (also a compiler). When you build a C program these two compilers are used to get your object file.
Another difference between C and assembly language is that it is possible (if you're careful) to write portable programs in C that can run without alteration on any computer that has a C compiler; while each processor has its own custom assembly language. Assembly language programs are not portable.
On the other hand, portability is not much of an issue when writing a device driver -- which, by definition, is specific to a particular hardware platform. Nevertheless, it is almost always easier to move a no portable C program from one platform to another than it is to rewrite an assembly language program for a different processor.
Engineers sometimes speak of "embedded systems" -- a product that contains a processor (a coffee pot, a router, a car, etc). C can be used for to program embedded systems, but be careful - embedded systems are typically "freestanding implementations", a phrase used in the C Standard for an implementation that is permitted to provide only a small subset of the Standard C Library.
Sign in to post your reply or Sign up for a free account.
Similar topics
by: Mark |
last post by:
We have a particular software project where a minority of the
function calls are taking up a majority of the cpu time.
(they do a lot of geometric, trig and other functions related
to vectors...
|
by: tele-commuter |
last post by:
Hi folks,
I want to understand how exactly is an image(compiled
c code and loaded into memory) stored in memory.
What exactly is a linker script?
I work with a lot of c code on a daily...
|
by: noridotjabi |
last post by:
Two questions.
1)Is there any way that I can read from an executable and then execute
what I have read.
EXAMPLE:
text
text
this is more
text
|
by: alf |
last post by:
Hi,
is it possible that due to OS crash or mysql itself crash or some e.g.
SCSI failure to lose all the data stored in the table (let's say million
of 1KB rows). In other words what is the worst...
|
by: Sheikko |
last post by:
Hi,
I am deveopping an application on the pocket pc and I need to program
hardware buttons to toggle between 2 application. Exactly from the code
of the first
application I open a second...
|
by: mohamed azaz |
last post by:
hi
I want to know
can c++ deal with hardware??
like fax modem or Lan or Audio device
|
by: sewid |
last post by:
Hi there!
I've got a problem with no solution, I hope you might help me.
I am writing a small tool with many buttons. Every button starts a
thread and this thread starts something else, in the...
|
by: Wizfrog |
last post by:
Hello,
is there ways to access hardware from C#? In particluar, I am looking
to change screen luminosity (or brightness/contrast values) from
within a C# program.
Hardware drivers / control...
|
by: Angus |
last post by:
Hello
My program works with different types of telephone system. Their interfaces
are all different.
But, of course, I don't want to have to write a different program for each
system. There...
|
by: Charles Arthur |
last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
|
by: ryjfgjl |
last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
|
by: emmanuelkatto |
last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud.
Please let me know.
Thanks!
Emmanuel
|
by: Sonnysonu |
last post by:
This is the data of csv file
1 2 3
1 2 3
1 2 3
1 2 3
2 3
2 3
3
the lengths should be different i have to store the data by column-wise with in the specific length.
suppose the i have to...
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers,...
|
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
|
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
|
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
| |