Sign in to follow this  
Followers 0
Andre S.

Getting started FAQ

71 posts in this topic

Even console programs are tough. The fact that people can ramble on for 7 pages about how to wait for user input at program termination is but a trivial example. :laugh:

We had that discussion here as well, didn't we. But then there's also this, so clearly people have problems with the simplest of concepts in all languages.

So hey, what's the .NET way of waiting for any key? Can never know too much trivia.

Share this post


Link to post
Share on other sites

We had that discussion here as well, didn't we. But then there's also this, so clearly people have problems with the simplest of concepts in all languages.

So hey, what's the .NET way of waiting for any key? Can never know too much trivia.

What's your point? Find me a 7 pages or more thread about how to wait for any key in a .NET console program, and you'll have made a valid comparison. The problem is not that beginners don't know how to do basic things, it's that even experienced programmers can't provide a simple working solution on which they would all agree.

Share this post


Link to post
Share on other sites
The problem is not that beginners don't know how to do basic things, it's that even experienced programmers can't provide a simple working solution on which they would all agree.
Beginners don't know how to do anything anyway. And I don't think it matters how they go about it as long as the result is what they wanted. Don't you agree?

Share this post


Link to post
Share on other sites
Beginners don't know how to do anything anyway. And I don't think it matters how they go about it as long as the result is what they wanted. Don't you agree?
I'm not sure I understand what you mean and I don't see the connection with what you quoted. In any case I don't want to get lost in debates about which language or approach is better. I'd rather like to know if you [or anyone else] feel a particular proposition of the OP could be formulated better, if the layout is good, if you have any useful links to add, etc., and whether you think that in its current form (I've edited it heavily since I originally posted it) it is appropriate to be pinned, because the few pinned topics we currently have aren't too useful in general.

Share this post


Link to post
Share on other sites

What's your point? Find me a 7 pages or more thread about how to wait for any key in a .NET console program, and you'll have made a valid comparison.

You're being your typical dishonest self. Nothing new under the sun. I looked, and there are threads about people wanting to know how to do it in .NET (even though the ratio of C/C++ to .NET programmers, especially for console stuff, is probably 100,000:1) . As for "7 pages or more," not all 7 pages of that thread of yours is on topic.

The problem is not that beginners don't know how to do basic things, it's that even experienced programmers can't provide a simple working solution on which they would all agree.

Bull. The answer on Windows is two lines that all experienced console programmers know, on Linux it's a few more, but all experienced Linux console programmers know. The problem is exactly that beginners don't know how to do basic things (and also that the web is full of people that just want to argue about things rather than provide an answer, if they even know it), and I see threads with people having trouble solving simple problems in .NET everywhere.

Share this post


Link to post
Share on other sites
You're being your typical dishonest self. Nothing new under the sun.
:rofl: I post some useful beginner info and ask for improvements and content; so far you've managed to question my honesty, my reading comprehension skills and my understanding of the difference between a language and a library (seriously, wtf), as well as provide some sky-high, semantical criticism about how I lump together languages and programming environments when that's pretty clearly my intent (talk about reading comprehension). The FAQ states C++ is "Complex at the outset: hard to learn, hard to master", a statement most C++ programmers would agree with, nothing more, nothing less; rather than bickering about stuff you know we both know, be rude and waste my time, why not help make this FAQ happen?

Share this post


Link to post
Share on other sites
[snip]
Thanks ! :D Will review and add asap.

Share this post


Link to post
Share on other sites

More Linux stuff:

Official Gtk+ Tutorial

X Windows System Programming (Advanced)

Xlib Beginner's Tutorial

LinuxMafia.com's list of IDEs

Cross-Platform:

Zetcode Tutorials

Qt Product Page

Qt Documentation

(I would definitely recommend Qt for OS X GUI programming)

Game Programming:

LazyFoo's SDL Tutorials

Overall Tutorials:

Free online C/C++ tutorials

Free online C# tutorials and references

Compilers:

The Free Country compiler list

I'll post more later.

Share this post


Link to post
Share on other sites

Will be at least another 24 hours before I can update, sorry.

Share this post


Link to post
Share on other sites

nice thread.

pinned :p

Share this post


Link to post
Share on other sites

Added some general links and some books. Specific APIs like Win32, Qt, SDL etc. will probably get their own section eventually, although maybe they would be better in a separate FAQ if this gets too long. Also I really can't recommend Dev-C++ for the reasons this blogger mentioned in 2008, which are all the more relevant 2 years later. In fact since despite its problems it is still often recommended, I will explicitely warn against it.

Share this post


Link to post
Share on other sites

C++:

All the advantages of C plus support for objects and generics, and better standard library

Essential skill for any game programming position and in a wide array of domains

Complex at the outset: hard to learn, hard to master

Like C, it is mainly designed as a systems programming language

I don't agree with red statements, because for system programming, is important to use C language, it belongs group of low level languages.

C is used for write OS kernel. So C++ isn't used for mainly system programming, it's used for system programming, yes but not for OS kernel.

In my opinion C++ is used on already written OS.

-----------------------

you know, i think that C# isn't powerful language yet :|

Some people thinks that C# have replaced C++, that not suited for truth.

if you want to become actual programmer you have to throw C# now.Get one of the best powerful programming language C++, Python.

-----

P.S This is my second post.

Share this post


Link to post
Share on other sites

C++ shares the same design goals as C because it is basically a superset of it. It's C, with added features (which mesh more less well with C's limitations and compilation model).

While C# doesn't "replace" C++, it is widely used and often seen as a requirement for job listings. Where I work, most of the tools are developed in C#.

Share this post


Link to post
Share on other sites

I don't agree with red statements, because for system programming, is important to use C language, it belongs group of low level languages.

C is used for write OS kernel. So C++ isn't used for mainly system programming, it's used for system programming, yes but not for OS kernel.

In my opinion C++ is used on already written OS.

-----------------------

you know, i think that C# isn't powerful language yet :|

Some people thinks that C# have replaced C++, that not suited for truth.

if you want to become actual programmer you have to throw C# now.Get one of the best powerful programming language C++, Python.

-----

P.S This is my second post.

I disagree with your disagreement about his last statement, C is very commonly used for micro controller programming, which i think is what he meant, as well as Operating system Basics building blocks.

Share this post


Link to post
Share on other sites

I don't agree with red statements, because for system programming, is important to use C language, it belongs group of low level languages.

C is used for write OS kernel. So C++ isn't used for mainly system programming, it's used for system programming, yes but not for OS kernel.

In my opinion C++ is used on already written OS.

-----------------------

you know, i think that C# isn't powerful language yet :|

Some people thinks that C# have replaced C++, that not suited for truth.

if you want to become actual programmer you have to throw C# now.Get one of the best powerful programming language C++, Python.

-----

P.S This is my second post.

Share this post


Link to post
Share on other sites

Just added the "How to think like a computer scientist" books. As far as free CS material goes, this is golden. Someone really needs to write a C# version of the book though.

Share this post


Link to post
Share on other sites

Hi,

I used to make some simple apps for my internal use, with Delphi 2007 - long time ago, obviously :)

It would seem that Delphi is now dead (i know I can still run it and compiled programs still work, but...)

Is there anything more recent, up-to-date that would be easy for a ex-Delphi user to jump on?

Share this post


Link to post
Share on other sites

Some people say that C# is a good language to learn after Delphi, I can't offer my insight on that, seeing as though I know neither. Java's always a nice language to know it'q quite ubiquitous in the corporate world. If you program for enjoyment, you should take a look at Python or Ruby; they are two very nice languages to use (and easy to pick up as well).

Share this post


Link to post
Share on other sites

I started off by using mIRC scripting; it's a very easy language to learn and teaches the basics, but it also has some things that may confuse people when they try to transition to another language; for example, everything in mIRC is a string. You don't need to enclose strings in quotes either.

alias test {
  var %x = abc, %y = 1
  echo -a $calc(%y * 10)
}

This creates an alias/function called 'test' which declares two variables (%x: abc and %y: 1) then outputs the value of %y times by 10.

It has functions, variables, loops, sockets, events, etc etc. I found it quite easy to transition from mIRC to C++. Obviously C++ is more complex, but syntactically it's not worlds apart.

I still use it today because it's an incredibly quick and easy language to write code for, so if I need to simplify a task at work I can whip up a script in minutes. I wrote a script in twenty minutes that takes names from a list and adds them to an Outlook calendar for each day in a month. It's to signify who is on call each night at work. Turned a job that usually takes about 20-30 minutes into a two minute one :D

Share this post


Link to post
Share on other sites

Hey guys, very cool thread, I have had my head out of programming for many years now but I would like to dab my feet back in the water and play around with Metro based apps.  Which language would I be best directing my energies to learning and running with?

Share this post


Link to post
Share on other sites

Hey guys, very cool thread, I have had my head out of programming for many years now but I would like to dab my feet back in the water and play around with Metro based apps.  Which language would I be best directing my energies to learning and running with?

 

It depends on your prior experience. Since Microsoft is heavily pushing C++ and C# for Modern app development, you should probably use whichever you are most familiar with. If you are not very experienced with either, C# is probably the easier language to start learning.

 

If you are looking for a C# book recommendation, Asik recommended a good one recently.

Share this post


Link to post
Share on other sites

Thanks for responding Orangekiller, that approach makes sense to me, will check out that book too

Share this post


Link to post
Share on other sites

While I'm evangelising C, I thought I'd disabuse those reading this thread of some misconceptions.

 

Let's compare 4 of the most widely recommended languages:

C:

  • sad.gif Hard to do anything graphical or even text-based (GUIs, games)
Doing anything graphical in C is only as hard as the GUI toolkit / library you use. As it probably is in most languages. For instance, creating a GUI in GTK isn't hard at all, nor is creating a terminal graphical interface using ncurses. Both are easy and powerful libraries which enable the programmer to create rich graphical user interfaces quickly.

 

C is primarily designed as a systems programming language

That's also incorrect. C is a general purpose high level programming language. It can be used for anything, from writing an accounts package with a rich graphical interface, embedded software on PLC controllers, Systems development, or writing an Android mobile app. It's completely flexible.

 

  • sad.gif Lacks such basic features as a string type, a container library, support for OOP, etc.
When someone says a programming language lacks basic features, what they're really saying is it doesn't have built-in things which exist in their own preferred language. Those things however, are often available in third party libraries as I mention below.

It's not necessary to have string types, a container library, or OOP support in order to write software. Some in fact might view these *features* as unnecessary bloat which hinders performance and complicates the language.

And if someone wants a string type, there's nothing stopping them creating one. Just the same way as you might create any other data structure, be it a linked list, associative map, or tree. They're all containers.

Or if someone prefers something ready to go, there are plenty of modules written that can plug right in that will accomplish the same task. GLib for example implements most of those supposedly *missing features* including basic OOP.

So if you hear the argument that C is too barebones and doesn't have the features that other languages have, first consider that there are many libraries that support such features. GLib, GTK, NCurses, Sqlite, Devil, SDL, etc. There are hundreds of C libraries out there to plug in to.

I hope that dispels a few myths and misnomers about a very practical, general purpose, efficient, and powerful programming language called C :D

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.