473,804 Members | 3,674 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Quick questions...

....you experienced programmers of C; did you start with C? What course
of study did you pursue to get to where you are today? Would you
suggest starting with REALbasic first for a n00b? I am completely new
to programming and using a Mac and would like some input as to where to
begin a career in programming. I know this is probably a somewhat
undefined question, but would appreciate you input/advice. Thanks.

Nov 15 '05 #1
33 1807
ea***********@e arthlink.net said:
...you experienced programmers of C; did you start with C? What course
of study did you pursue to get to where you are today? Would you
suggest starting with REALbasic first for a n00b? I am completely new
to programming and using a Mac and would like some input as to where to
begin a career in programming. I know this is probably a somewhat
undefined question, but would appreciate you input/advice. Thanks.


It would probably be better to start out by learning a language that was
designed with teaching in mind, such as Pascal. This should teach you some
good habits.

Once you've got the general idea of programming, switch to C, and get a
really, really good book on it, such as "The C Programming Language" (2nd
edition), by Brian W Kernighan and Dennis M Ritchie. Your local bookshop
should carry this, or you can get it from Amazon. Alas, there are plenty of
bad books on C, and you can get those from your bookshop or Amazon too. :-(

The Frequently-Asked Questions list for this newsgroup can be found at
http://www.eskimo.com/~scs/C-FAQ/top.html - and you will find it to be a
most helpful resource.

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
Nov 15 '05 #2
ea***********@e arthlink.net wrote:
...you experienced programmers of C; did you start with C?
No, I started with GOTRAN on an IBM 1620
<http://en.wikipedia.or g/wiki/IBM_1620>. C was several years away.
What course
of study did you pursue to get to where you are today? Would you
suggest starting with REALbasic first for a n00b? I am completely new
to programming and using a Mac and would like some input as to where to
begin a career in programming. I know this is probably a somewhat
undefined question, but would appreciate you input/advice. Thanks.


I'm not familiar with what is available on a Mac. I suggest asking for
suggestions in a Mac programming newsgroup. Since you asked in
comp.lang.c, consider C!

--
Thad

Nov 15 '05 #3
ea***********@e arthlink.net wrote:
...you experienced programmers of C; did you start with C?
Before 1970:
ALGOL on a CDC 3600;
FORTRAN on a UNIVAC 1107;
MAD, FAP, LISP, and SNOBOL on an IBM 7094 (CTSS);
FORTRAN, PL/1, 360 Assembler, APL on IBM 360;
MACRO-6, MACRO-10, FORTRAN, ALGOL and COBOL on PDP-6 and PDP-10 (TOPS-10
& ITS);
MACRO-8 on PDP-8
PL/1 on a GE 645 (MULTICS);
Added in 1970:
MACRO-11 on PDP-11;
What course
of study did you pursue to get to where you are today?
Undergraduate degrees in Political Science and Economics from MIT and
Graduate degees in Political Science from Northwestern. This is
misleading: 4 semesters of physics, 3 of chemistry, 6 of electrical
engineering, and 8 in math are hidden behind those undergraduate degrees.
Would you
suggest starting with REALbasic first for a n00b?
There is no pedagogical advantage to any flavor of BASIC over a
production language such as C. Pedagogical languages like APL and
Pascal have their uses, but there is the danger of the "first language
syndrome", in which the first language one learns is the standard
against which all others are measured. Just as in the case of the
"first editor syndrome", even the poorly done parts of the first used
language (or editor) acquire a mystique not easy to overcome.
I am completely new
to programming and using a Mac and would like some input as to where to
begin a career in programming.
Start by concentrating on getting an education, not on your career.
I know this is probably a somewhat
undefined question, but would appreciate you input/advice. Thanks.

Nov 15 '05 #4
This is a bit off-topic, but...

In article <oc************ ****@newsread1. news.atl.earthl ink.net>
Martin Ambuhl <ma*****@earthl ink.net> wrote:
There is no pedagogical advantage to any flavor of BASIC over a
production language such as C. Pedagogical languages like APL and
Pascal have their uses, but there is the danger of the "first language
syndrome", in which the first language one learns is the standard
against which all others are measured.
As it happens, I learned a variant of BASIC first myself. It occurs
to me that the second sentence argues against the first: compared to
that BASIC, most other languages look positively *wonderful*. :-)

(I wrote a number of fairly serious programs in TRS-80 Level II
BASIC, and it taught me quite a lot about the need for dividing
things up so that individual pieces of a solution do not interfere
with each other. As all variables were global, and all subroutines
handled by line-number, this had to be done manually. I kept large
tables of "variable names reserved to various subroutines" and
"subroutine S starts at line L" and so on.)
Start by concentrating on getting an education, not on your career.


Indeed. And when you do get down to specifics in programming,
study as many languages as you can get your hands on.
--
In-Real-Life: Chris Torek, Wind River Systems
Salt Lake City, UT, USA (40°39.22'N, 111°50.29'W) +1 801 277 2603
email: forget about it http://web.torek.net/torek/index.html
Reading email is like searching for food in the garbage, thanks to spammers.
Nov 15 '05 #5
ea***********@e arthlink.net wrote:
...you experienced programmers of C; did you start with C? What course
of study did you pursue to get to where you are today? Would you
suggest starting with REALbasic first for a n00b? I am completely new
to programming and using a Mac and would like some input as to where to
begin a career in programming. I know this is probably a somewhat
undefined question, but would appreciate you input/advice. Thanks.


C had not been invented when I started programming, so
I didn't have the option of learning it first. Although C
is probably easier to get started in (and vastly more powerful
than) the FORTRAN II that was my introduction to programming,
I don't think I'd recommend it as a first language for a
beginner. It is a band saw without a blade guard: the perfect
tool for cutting tricky shapes in wood and in fingers.

Baby-talk languages like BASIC or Pascal don't strike me
as a good way to start, either. Both have been morphed into
"serious" languages, but seem top-heavy: too many industrial-
strength features loaded onto inadequate substrates. A kid's
little red wagon is a fine thing, but not the vehicle of choice
for hauling freight cross-country.

Looking at the languages available today, I'd suggest
starting with either Java or some form of Lisp. Both are "real"
languages, but both relieve you of worrying about some of the
trickier aspects of "real" programming, especially memory
management. Also, both come with things like Iterator (Java)
and mapcar (Lisp) that provide canned solutions for some common
and repetitive tasks so you can forget about them for a while
as you concentrate on learning how to reason about a program's
behavior.

Alas, both languages share a serious drawback: Their error
messages are cryptic and likely to baffle a beginner. (By
"cryptic" I don't mean merely "terse:" both languages tend to
produce messages that describe a difficulty in their own terms
and not in terms of the problem space. All computer languages
I've used share this characteristic to some degree, but Java and
Lisp seem a little remoter than most.) The opacity of their
diagnostics may be somewhat offset by the superior debugging
features that lie within the languages themselves.

Of course, all this is a bit speculative on my part. I did
not actually begin my study of programming with either Java or
Lisp, and don't actually know from personal experience how good
or bad they might be. I think, though, that they'd be better
starting points than C -- I started learning C almost thirty years
ago, and I *still* haven't grasped all of it!

--
Eric Sosman
es*****@acm-dot-org.invalid
Nov 15 '05 #6
On Sat, 29 Oct 2005 21:15:28 -0400, <ea***********@ earthlink.net> wrote:
...you experienced programmers of C; did you start with C?
Well, I'm not an experienced C programmer, but...
of study did you pursue to get to where you are today? Would you
suggest starting with REALbasic first for a n00b? I am completely new
to programming and using a Mac and would like some input as to where to
begin a career in programming. I know this is probably a somewhat
undefined question, but would appreciate you input/advice. Thanks.


I started learning programming with QBASIC on an old(er) computer, and did
a bit, but I reached some roadblocks further on in and up. Then, I started
learning Scheme, and a lot of things made more sense to me, and I finally
could make something work. Now I'm learning C, and it's quite fun. I did
attempt to learn C first, but I never really got it working right.
Understanding logic flow in something like Scheme first helped me quite a
bit in being able to at least get things to work in C, even if the way I
did it was inefficient and slow, I'm working on making them efficient and
clean now as well.

As a beginner language, I don't much care for C, or BASIC in any form. I
can't speak from a great deal of experience, but I've always found a Lisp
type language (Scheme) to be really helpful, and probably something like
Pascal, Python, or some such. But once you get into that road, you might
as well start learning C also.

Really, it seems to me that the most important first step is learning how
to program in your mind: how to lay things out, how to segment your
program, how to put ideas into a series of robust steps, how to understand
input and output. The abstract essentials to what goes on before anyone
ever writes any code seem to be missing with more people I meet than just
understanding a language.

- Arctic

--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
Nov 15 '05 #7
ea***********@e arthlink.net wrote:
...you experienced programmers of C; did you start with C? What course
of study did you pursue to get to where you are today? Would you
suggest starting with REALbasic first for a n00b? I am completely new
to programming and using a Mac and would like some input as to where to
begin a career in programming. I know this is probably a somewhat
undefined question, but would appreciate you input/advice. Thanks.


I started with Applesoft BASIC on an Apple II Plus, which was a
hand-me-down present from my grandfather on my fifth birthday. I
programmed in Applesoft for a few years, then got a 286 PC with 512 KB
memory, that ran BASICA and QBASIC. I continued to use QBASIC and
subsequently QuickBASIC for many years. I also learnt a little Pascal
while in high school.

I went into a Computing Science degree at the University of Technology,
Sydney. The first language taught was Eiffel, and then C. Through
elective subjects I have also done courses in C++, PHP and Java.

No course can teach you how to program. You have to spend a lot of time
practising, writing hundreds of little programs. Whenever you see or
hear an interesting program, try implementing a solution.

--
Simon.
Nov 15 '05 #8
In article <11************ *********@o13g2 000cwo.googlegr oups.com>,
<ea***********@ earthlink.net> wrote:
...you experienced programmers of C; did you start with C?
FORTRAN IV with WATFOR, if I recall correctly. I learned a bunch
of things in a short time after that, so I can no longer lay out
the order. [Possibly, before the FORTRAN IV, I might have already been
exposed to some programming reference material that didn't say anything about
how to write programs and which had no examples.]
What course
of study did you pursue to get to where you are today?
This is a different age... the method of study I followed then would
be seriously unfashionable now. A bunch of it came down to
"Have library card; will borrow."
Would you
suggest starting with REALbasic first for a n00b?
No! BASIC sets too many bad habits.

I am completely new
to programming and using a Mac and would like some input as to where to
begin a career in programming.


In recent years, I have run across an essay that says, in all
seriousness, that if you want a good career, then do not go into
computer science: that the field is too flooded already with
programmers who do a "good enough" job; that companies are cutting
back on in-house programming; that companies are outsourcing a
lot of programming jobs to third-world countries... and some other
reasons I do not recall.

If you are looking for a "career", then pick a field which is going to
be in big demand in the timeframe when you are going to be at your
prime -- oh, say, ecological reclamation, water purification science,
geriatic care, species extinction prevention, or pulling companies (or
countries) out of bankruptcy.
The path I followed is not one that can just be rationally "chosen".
You've heard of writers who must write, or painters who must paint...
some of us are programmers because we *must* be so.
--
Okay, buzzwords only. Two syllables, tops. -- Laurie Anderson
Nov 15 '05 #9
ea***********@e arthlink.net wrote:
...you experienced programmers of C; did you start with C? What course
of study did you pursue to get to where you are today? Would you
suggest starting with REALbasic first for a n00b? I am completely new
to programming and using a Mac and would like some input as to where to
begin a career in programming. I know this is probably a somewhat
undefined question, but would appreciate you input/advice. Thanks.

Best first language to learn? Perl. Once you've coded in perl you'll
gain an entirely new perspective and appreciation for c (and any other
language that is not perl).

Being serious now, I would recommend something that will get you
familiar with the fundamental logic of coding. Specifically I would
recommend a loosly typed language first so you can concentrate on actual
code logic instead of variables. Once you have a firm understanding of
code logic then you can work on variables. Although it is not the
greatest language in the world, PHP is quite easy to learn however it
will at times open bad doors to programming. PHP is more like C++ than
C, however it will certainly help you get used to the basics of writing
code. As long as you avoid the object oriented aspects of PHP I don't
see why it wouldn't at least give you a boost in the right direction.
Even to this day I still use PHP to create a POC (Proof Of Concept)
before I start coding in C. It's easier to track what is going on
because it eliminates the need of a debugger and you don't have to
concentrate on variables; you only need to concentrate on functionality
and design.

Like many of the others here I learned BASIC first (I too programmed on
a TRS-80, among other things). All in al I would say your first task
should be to learn code logic, followed by portability, and finally
variable types and limitations. Perhaps the biggest problem you're going
to run into with programming in C is knowing what variable type to use
where (e.g., unsigned char * or char *, etc).

If you decide to learn C first, more power to you. Everyone needs
somewhere to start out, so why not use the age-old "Hello, World!"
example - but with a twist. If you are going to be coding in C you are
most certainly going to need to use a debugger. Since this newsgroup
deals with only standard C programming I cannot go into compiler or
debugger specifics, however I will leave you with the following code and
task to learn what is going in inside the code.

#include <stdio.h> /* for printf and friends */
#include <stdlib.h> /* for EXIT_SUCCESS, EXIT_FAILURE, etc */

int main(int argc, char **argv)
{
int i = 0;

i++; /* set a breakpoint here and examine the value of i */

printf("Hello, World! In my first c program i is now %d\n", i);

/* now, set a breakpoint here and examine the value of i */
printf("Increme nting i using the prefix operator: %d\n", ++i);

/*
* since we might be piped to another program we should
* let whoever called us know that we had a successful
* run
*/
return(EXIT_SUC CESS);
}

You may also experiment with the char type. For example (not a complete
program):

char c = 'a';

printf("c: %c\n", c);

++c;

printf("c (after): %c\n", c);

Best of luck,

- Joe
Nov 15 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
9572
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10562
Oralloy
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, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10319
jinu1996
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 tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10303
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 Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
1
7608
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5639
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4282
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3803
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2978
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.