Sponsored Content
Top Forums Programming Why is C/C++ considered low-level languages??? Post 302622079 by Corona688 on Wednesday 11th of April 2012 01:35:46 PM
Old 04-11-2012
C/C++ are considered high/low level languages because you can write fairly high-level code, with complicated data structures and local variables and functions and various other things you'd find in "high"-level languages, and still have it translated into 100% pure uninterpreted assembly language. You can even write freestanding things like bootloaders and operating systems in C/C++ because you can exercise fine control over what external things are needed -- or, more to the point, aren't needed. You can forgo the standard libraries entirely and write code that depends on absolutely nothing.

This is very different from Java where everything has to be fed through an interpreter all the time. It's not the computer's native tongue, so to speak. You couldn't write a bootloader in it -- you'd need something else to load java first. It's not freestanding, not independent.

Your question unfortunately sounds a bit naive. Writing a disk defragmenter isn't trivial -- you need to understand a lot more than the language, you need to understand the structures of the filesystem in question. If you don't know enough about a filesystem to know which sectors to grab to find out what information, you can't write a defragmenter.

They're often written in C/C++, yes. They don't have to be, but because the structures for these filesystems are C/C++ anyway, it may be easiest to use them rather than reinvent the wheel.

If you want to build a defragmenter for educational reasons, I'd suggest working on the MS-DOS FAT16 filesystem which has very simple organization, then working up from there.

Last edited by Corona688; 04-11-2012 at 02:42 PM..
 

7 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Low level format?

I want to do a low level format like in windows (C:\format c:) but I don't know how it works in unix or linux.. Can somebody help me ? thnx :) (3 Replies)
Discussion started by: day
3 Replies

2. What is on Your Mind?

Programming languages polyglots: how many languages you know?

Post what languages (including scripting) you know, why and where you think that language is most usable. Also include libraries in which you're really good at (libusb, gtk, qt, etc). assembly? C or C++? perl or python? pascal? bash or csh/tcsh? opengl? gtk or qt? mono? (27 Replies)
Discussion started by: redoubtable
27 Replies

3. Programming

write() issue during a low level hdd access

Hi, I am trying to write zeroes to the hdd using a c program. I don't want to use the dd or ddrescue or any such inbuilt program because of reasons like real time progress, writing custom patterns. (my program is more like an erasure application, but does only zero fill). here are the steps... (35 Replies)
Discussion started by: sponnusa
35 Replies

4. IP Networking

Best reference for understanding low level info on nic cards drivers and functionality

Hi, What is the best reference that gives in detail on nic cards configuration , assigning multiple ip addresses to a single interface, netlink library etc and all basic stuff at this level..? Thanks (2 Replies)
Discussion started by: Gopi Krishna P
2 Replies

5. AIX

High Runqueue (R) LOW CPU LOW I/O Low Network Low memory usage

Hello All I have a system running AIX 61 shared uncapped partition (with 11 physical processors, 24 Virtual 72GB of Memory) . The output from NMON, vmstat show a high run queue (60+) for continous periods of time intervals, but NO paging, relatively low I/o (6000) , CPU % is 40, Low network.... (9 Replies)
Discussion started by: IL-Malti
9 Replies

6. Programming

System calls and C language low-level qualities???

Hi friends, I hope everyone is fine and doing well. I queried in my previous thread about the low-level qualities of C/C++ languages.I really thank you people for explaining, it was really helpful. One more ambiquity that I have in my mind is regarding the unix system calls like open, creat,... (1 Reply)
Discussion started by: gabam
1 Replies

7. Programming

Low level X11 programming

How to use X11 without Xlib not XCB? How draw window directly on low level? I must use anyway window manager like Motif? I have ridden that X11 has server-client architecture, client send via TCP/IP to port 6000 request for primitives and get replies. Where is detailed description of it? In X11... (0 Replies)
Discussion started by: AndrzejB
0 Replies
PHILOSOPHY(1)						User Contributed Perl Documentation					     PHILOSOPHY(1)

NAME
PDL::Philosophy -- what's behind PDL? DESCRIPTION
This is an attempt to summarize some of the common spirit between pdl developers in order to answer the question "Why PDL"? If you are a PDL developer and I haven't caught your favorite ideas about PDL, please let me know! An often-asked question is: Why not settle for some of the existing systems like Matlab or IDL or GnuPlot or whatever? Major ideas The first tenet of our philosophy is the "free software" idea: software being free has several advantages (less bugs because more people see the code, you can have the source and port it to your own working environment with you, ... and of course, that you don't need to pay anything). The second idea is a pet peeve of many: many languages like matlab are pretty well suited for their specific tasks but for a different application, you need to change to an entirely different tool and regear yourself mentally. Not to speak about doing an application that does two things at once... Because we use Perl, we have the power and ease of perl syntax, regular expressions, hash tables etc at our fingertips at all times. By extending an existing language, we start from a much healthier base than languages like matlab which have grown into existence from a very small functionality at first and expanded little by little, making things look badly planned. We stand by the Perl sayings: "simple things should be simple but complicated things should be possible" and "There is more than one way to do it" (TIMTOWTDI). The third idea is interoperability: we want to be able to use PDL to drive as many tools as possible, we can connect to OpenGL or Mesa for graphics or whatever. There isn't anything out there that's really satisfactory as a tool and can do everything we want easily. And be portable. The fourth idea is related to PDL::PP and is Tuomas's personal favorite: code should only specify as little as possible redundant info. If you find yourself writing very similar-looking code much of the time, all that code could probably be generated by a simple perl script. The PDL C preprocessor takes this to an extreme. Minor goals and purposes We want speed. Optimally, it should ultimately (e.g. with the Perl compiler) be possible to compile PDL::PP subs to C and obtain the top vectorized speeds on supercomputers. Also, we want to be able to calculate things at near top speed from inside perl, by using dataflow to avoid memory allocation and deallocation (the overhead should ultimately be only a little over one indirect function call plus couple of ifs per function in the pipe). We want handy syntax. Want to do something and cannot do it easily? Tell us about it... We want lots of goodies. A good mathematical library etc. AUTHOR
Copyright(C) 1997 Tuomas J. Lukka (lukka@fas.harvard.edu). Redistribution in the same form is allowed but reprinting requires a permission from the author. perl v5.12.1 2009-10-17 PHILOSOPHY(1)
All times are GMT -4. The time now is 12:52 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy