Question

best programming language?

Asked by: Masonok

Greetings!

I have an simple question about which "type" programming language is the best!!??

I want to write small Operating System.... for learning purpose...

I want to use Assembler and C/C++ . There are many types of these languages NASM, Borland Assembler, Watscom C++ MASM, MS Visual C++ ....
Which ones are the best? I mean in each category Asm and C++? With explanation please... :)

Thanks!

 

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2002-11-05 at 23:11:25ID20391345
Topic

C++ Programming Language

Participating Experts
7
Points
50
Comments
21

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. ASM
    I need to learn ASSEMBLER. Does anybody know all the commands in ASM and thier functions? Please E-Mail me at : <VIBESPRO@MAILCITY.COM>.
  2. Win32 assembly with MASM
    I would like more information on how to program with MASM in Windows. I am aware of Iczelion's tutorials, but I am not particularily thrilled with these as they each address a specific "windows" related task. I would simply like to know information like: how to de...
  3. Is similar MASM and TASM
    I downloaded an assembly language tutorial but it was for masm and not for tasm. is there any big difference between masm and tasm. will the code written for masm works under tasm?

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: ZakabogPosted on 2002-11-05 at 23:18:37ID: 7413467

If you're asking such a silly question I doubt you should write any type of Operating System.

 

by: cjavadcPosted on 2002-11-05 at 23:52:27ID: 7413538

I think MSVC++ is best.

 

by: dimitryPosted on 2002-11-06 at 00:03:53ID: 7413559

It depends on the next point:
Do you want to use protected mode in your small OS ?
If no then any pair is Ok:
 - Borland Asm / Borland C++
 - MS Asm / MS VC++

By the way there is real mode OS for learning purposes - XINU.
And it is compiled by Borland Asm / Borland C.

 

by: MasonokPosted on 2002-11-06 at 00:46:00ID: 7413662

Ooooh! Zakabog! I know my question is silly!

if you so experienced may be you can explain me which compiler creates the best code? (small and fast?) and which compiler has minimum errors inside?

I beleive that all compilers create workable code but is this code absolutelly the same? no! (Compare exe files created in Visual C++ and CBuilder)

Also I want to use Freeware compiler. but I want good IDE too.
Some people said it is good to use NASM and DJGPP. some said MASM is not good. Why?




 

by: MasonokPosted on 2002-11-06 at 01:10:44ID: 7413733

I want to use protected mode, 32 bit. realtime, microkernel...
As I said I am not a professional in this area!! But I want to learn more about it. And I know that if you choose the right tools you did 50% of task! :)

I wrote applications for MS Windows in Delphi, CBuilder, MS Visual C++ (i like it!) but who cares about speed and size of common applications?! (I know that this always important but... ) I guess you understand what I mean.

Here I as believe situation is different - code must be fastest, optimized and small... (and of cource it must meets my requerements)

 

by: MasonokPosted on 2002-11-06 at 01:18:26ID: 7413756

I want to use protected mode, 32 bit. realtime, microkernel...
As I said I am not a professional in this area!! But I want to learn more about it. And I know that if you choose the right tools you did 50% of task! :)

I wrote applications for MS Windows in Delphi, CBuilder, MS Visual C++ (i like it!) but who cares about speed and size of common applications?! (I know that this always important but... ) I guess you understand what I mean.

Here I as believe situation is different - code must be fastest, optimized and small... (and of cource it must meets my requerements)

 

by: ExceterPosted on 2002-11-06 at 08:36:33ID: 7415355

>> Also I want to use Freeware compiler. but I want good IDE too.


If it is freeware you want then you should use NASM. You can download it here: http://sourceforge.net/project/showfiles.php?group_id=6208

As to an accompanying IDE you can use NASM IDE. You can download it here: http://uk.geocities.com/rob_anderton/

If you are interested, Borland offers its C/C++ compiler Ver 5.5 free for download(If you register.) You can get it here: http://www.borland.com/products/downloads/download_cbuilder.html

 

by: C1AzadNizam1CPosted on 2002-11-06 at 14:43:30ID: 7416998

Hello,

I think you should use MSVC++.

Explaination of the language:

Microsoft Visual C++® .NET provides the dynamic development environment for creating Microsoft Windows®–based and Microsoft .NET–connected applications, dynamic Web applications, and XML Web services using the C++ development language. Visual C++ .NET includes the industry-standard Active Template Library (ATL) and Microsoft Foundation Class (MFC) libraries, advanced language extensions, and powerful integrated development environment (IDE) features that enable developers to edit and debug source code efficiently.

Visual C++ .NET Empowers the Developer with Advanced Capabilities and Options ====>
Visual C++ .NET provides developers with many professional-level features and enables them to create extremely powerful applications and components for Windows and the Web. From start to finish, the tool offers features that help streamline the process of C++ software development.

Application wizards provide powerful templates for getting projects underway quickly. The included MFC and ATL application-framework libraries are the most robust, productive, and popular libraries available for Windows-based application development, and they are now enhanced for Windows XP. These features are fully integrated with a professional-level compiler and an advanced debugger; together they provide a consistent and efficient development experience.

C++ is one of the world's most popular languages, and with Visual C++ .NET, developers enjoy a world-class C++ development tool. C++ is an interoperable, standards-based language, and C++ skills can be leveraged across multiple computing environments and communities.

 

New Features Keep Visual C++ in Step with the Future of Application Development====>
New features in Visual C++ .NET include C++ Attributes, Managed Extensions, ATL Server, and a host of new library, IDE, and compiler optimizations and enhancements.

C++ Attributes====>
C++ Attributes enable declarative programming, and they simplify development by minimizing repetitive boilerplate source code. Developers can expose new and existing ATL COM components as XML Web services by applying simple attribute tags. The need for separate Interface Definition Language (IDL) modules decreases with the introduction of C++ Attribute tags.

Managed Extensions for C++====>
With Managed Extensions for C++ developers can take advantage of Microsoft .NET and incorporate next-generation technology-including resource management, unified types, and component remoting. With .NET, developers gain superior memory-management technology for seamless garbage collection and reduced program complexity. Developers can leverage code written in any of the more than 20 languages that support .NET by using the .NET Framework Common Type System while making efficient remote procedure calls.

The .NET Framework Class Library====>
Visual C++ .NET developers can also use the Microsoft .NET Framework Class Library and leverage powerful built-in functionality—including a rich set of collection classes, networking support, multithreading support, string and regular expression classes, and broad support for XML, XML schemas, XML namespaces, XSLT, XPath, and SOAP.

ATL Server====>
When developers choose to write portions of their Web applications in C++, they usually do so for reasons of performance or control. ATL Server encapsulates the best practices for developing high-performance C++ Web applications into a set of simple and extensible ATL classes for developers to reuse. ATL Server includes features that enable Web applications and XML Web services to scale across CPUs in a Web server farm.

Asad.

 

by: gandalf79Posted on 2002-11-06 at 18:18:18ID: 7417851

Yes, all of that is true C1AzadNizam1C but if you are writing an OS do you really need MFC, ATL, .NET, or any of that other microsoft junk?

 

by: MasonokPosted on 2002-11-06 at 20:07:24ID: 7418265

MSVC++ is the perfect tool for Windows programming...

Does anybody know why Borland made C++ compiler 5.5 freeware? Is there any free IDE for it?

What about DJGPP? or G++ or something like that?

 

by: C1AzadNizam1CPosted on 2002-11-06 at 21:39:41ID: 7418443

Yes Gandalf79, that is true Masonok could use Visual C++ .NET.
It is still C++, even if it is .NET or Version 6.0 or Borland or Microsoft.
Asad.




 


 

by: tony_in_da_ukPosted on 2002-11-07 at 02:27:26ID: 7419057

Someone just beginning to experiment with O/S writing doesn't need to worry about speed or tightness of code... you should just express things simply and as elegantly as you can in a sufficiently standard way that you can compile with Borland, DJGPP or MS VC++.  To re-write something as simple as early MS-DOS versions would take you a long time, and you only needed an 8086 to run that.  Spend your time worrying about the concepts and not the compiler efficiency.  When you want to code apps over an OS with excellent efficiency/speed/tightness and sensible functionality, write for Linux/UNIX.  If you're thinking of embedding your O/S, consider embedded versions of Linux.

A major issue is how you'll try out and debug your O/S... you may want to consider whether you can create a virtual machine in which to run it so you don't have to boot out of your development O/S, then back in to write some more code.

 

by: MasonokPosted on 2002-11-07 at 04:18:51ID: 7419318

Ok!
In spite of the sillyness of my question I didn't get a normal answer! WOW!
Only C1AzadNizam1C provides some useful information about MSVC++ (but it shows that this environment is good to create programs for Windows!)

Can you just rate the C++ compilers? (with explanation - why you do think so)

 

by: C1AzadNizam1CPosted on 2002-11-07 at 17:38:19ID: 7422774

Hello,
If you want to create an O/S then VC++.NET would be best, why do you want to rate the C++ compilers? If you want to create an O/S with VC++.NET then use VC++.NET compiler. You can ofcourse buy this from mostly any computer store.
Then if you do not know how to program in the language than you just need to learn it.
I do not think you need to compare C++ compilers, you just need to buy VC++.NET compiler, that would allow you to write an O/S.

Asad.

 

by: C1AzadNizam1CPosted on 2002-11-07 at 17:50:57ID: 7422808

Hi, here is an overveiw of VC++.NET:

A Robust Development Environment Makes Visual C++ the Choice of Professional Application Developers
Visual C++ .NET provides high performance and fine-grained control for hard-core C++ developers. Visual C++ .NET lets developers build applications that run natively on the operating system. Developers also can target the .NET Framework and common language runtime with Managed Extensions for C++. Because Visual C++ .NET developers can write directly to the operating system, they have the most control—and because they also can write to the .NET Framework, they have the most flexibility. Like Microsoft Visual Basic® and Microsoft Visual C#™, Visual C++ also lets developers create powerful XML Web services.

Visual C++ .NET is unique among the languages that are compatible with .NET in that it supports both the managed code model that the .NET Framework provides and the unmanaged native Windows-based code model. By supporting both programming models, Visual C++ .NET preserves and enhances existing investments in code and skill, and it provides the maximum possible choices for developers and organizations.

With a superior IDE, Visual C++ .NET provides programmers with the ultimate developer cockpit. The Start Page offers developers a portal to one-click information on recently used projects, preferences, updates, and the MSDN® Online community. Microsoft IntelliSense® features, the Toolbox, and the Task List provide significant productivity enhancements, while the AutoHide windows and multiple-monitor support features help programmers maximize screen real estate and customize the development environment. So, I think you should choose VC++.NET.

Asad.

 

by: gandalf79Posted on 2002-11-07 at 20:43:11ID: 7423297

Maybe I did not make my self clear in my comment. I know you can use the visual studio ide to create an os. My main point was the majority of the reasons you are giving for using visual studio are Windows specific. That is those features don't do you any good at all when in comes to writing an os. If I am writing a kernel for an os(not windows), at what point will I even consider using calling a function from the windows api, mfc, atl, .NET, xml web services, or any thing else like that? The answer in short...NEVER. Because mfc, atl, and other components like them are windows specific and can not be used in any other os with out being ported, and because most of the code is hidden in .lib files you cant do that.

Also who cares about VB or C# for Kernel programming. You can only make windows apps with them anyway.

So in the end the only thing you can really judge a compiler and ide combo are: is it stable, does it produce stable output, is it easy to use, does it have the options I need for my purpose(mfc is not one of these!),  can it generate small and/or fast output, etc.

I would have to say from everything I have read VC++ ide is one of the best around, however the bugs in the compiler itself leave a lot to be desired. Now it was about a year ago the last time I did any real research on the subject and there has a service pack released since then and I am sure they have fixed some of the bugs. But I go with experience and so far I have yet to find a Microsoft product that is not filled with bugs(I don't think I need any examples here).

I would say the best for your purposes is the Gnu Compiler Collection(GCC). It does not have a set IDE but they can be found if you want to look for one. It can be used in almost any OS and it has proven to produce very good code.  Plus you can use it in Linux and you can use the Linux kernel as guide in you studies. It is free.  And the normal arguments against Linux do not apply when it comes to writing an os. All the best software you need to write a kernel is in Linux. The same applies to Unix but Linux is free.  And you can set up a duel boot if you want to still use windows.

The main choices I see are VC++ with a buggy compiler but very good ide, Borland ok compiler but no ide, and GCC with a great compiler but no ide.  You can find an ide that is ok if you look around for it but I can't think of any I have seen that are as good as VC++.

 

by: gandalf79Posted on 2002-11-07 at 20:54:14ID: 7423313

oh and one more thing. the reason c++ does not use an automatic garbage collection like other langages like VB and C# is because that slows the program a lot. If you use managed classes in a time critical application like a kernel then you are asking for something too slow to use and will most likly end up taking it out. The only way it would not make a difference is if your os was so small all it could to is boot.

 

by: MasonokPosted on 2002-11-07 at 22:23:10ID: 7423494

gandalf79!

Can you give me a web sites where I can get GCC and documentation? Please!
And can you just tell couple words - why GCC is better that Borland!?  

As far as I understood you don't like VC++ compiler because it has may bugs inside. Which compiler do you use at home (or at work) ?

 

by: MasonokPosted on 2002-11-08 at 00:13:51ID: 7423771

gandalf79!

Can you give me a web sites where I can get GCC and documentation? Please!
And can you just tell couple words - why GCC is better that Borland!?  

As far as I understood you don't like VC++ compiler because it has may bugs inside. Which compiler do you use at home (or at work) ?

 

by: ZakabogPosted on 2002-11-08 at 18:40:04ID: 7427375

if you so experienced may be you can explain me which compiler creates the best code? (small and fast?) and which compiler has minimum errors inside?

Your real question was "Best programming language?" which is just a silly question.

Here's GCC's site, http://gcc.gnu.org/

 

by: C1AzadNizam1CPosted on 2002-11-10 at 14:59:36ID: 7431560

Hello,
Some GCC sites are:
1--   http://www.gnu.org/software/gcc/gcc.html (This site is GCC homepage)

2--   http://www.land-j.com/gccwin32.html  ( This site is about the compiler)


3--   http://users.actcom.co.il/~choo/lupg/tutorials/c-on-unix/c-on-unix.html     ( This site is Tutorial site.)



4--   http://havoc-tsa.hypermart.net/cgi-bin/ikonboard/topic.cgi?forum=6&topic=234     (This is also a Tutorial site)

5--   http://www.osborne.com/products/0072224053/0072224053_ch01.pdf   (THIS SITE IS THE SECOND BEST SITE FOW GCC FROM ALL THESE SITES, BUT IT REQUIRES ADOBE ACROBAT.)

I hope this helps.

Asad.

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...