473,320 Members | 1,900 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,320 software developers and data experts.

Should I learn C ?

Hi folks,

I would like to create an email client and organizer like MS Outlook, and I would give myself a year
to do this, in the evening & week-ends.
I have been looking for information on how to do it, and I found out I can develop such a program
using C, C++, or Delphi. I am new at programming, I just know some PHP, and JavaScript that I use
for my job, I like it. I don't know other languages, such as object-oriented languages.
What would you do if you were me? Would you choose Delphi, C, C++, or another language to develop an
email client and organizer?
I don't now the differences between these object-oriented languages...
Thanks a lot,

--
Charles.
Nov 13 '05 #1
15 2221
dfg
Charles wrote:
Hi folks,

I would like to create an email client and organizer like MS Outlook, and I would give myself a year
to do this, in the evening & week-ends.
I have been looking for information on how to do it, and I found out I can develop such a program
using C, C++, or Delphi. I am new at programming, I just know some PHP, and JavaScript that I use
for my job, I like it. I don't know other languages, such as object-oriented languages.
What would you do if you were me? Would you choose Delphi, C, C++, or another language to develop an
email client and organizer?
I don't now the differences between these object-oriented languages...
Thanks a lot,
I would choose Ada(95). But really, you are posting in the wrong group.
It has nothing to do with programming in C. You should learn as many
languages as you can.

It can however take many MANY months/years to learn a language suitably
enough to do what you desire. Even the paradigms will take a long time
to get used to. Not only that, but you could actually do what you want
in most languages out there. Forth, Cobol, Fortran, Assembly language.
Anything.

--
Charles.


Nov 13 '05 #2
Charles wrote:
Hi folks,

I would like to create an email client and organizer like MS Outlook, and I would give myself a year
to do this, in the evening & week-ends.
I have been looking for information on how to do it, and I found out I can develop such a program
using C, C++, or Delphi. I am new at programming, I just know some PHP, and JavaScript that I use
for my job, I like it. I don't know other languages, such as object-oriented languages.
What would you do if you were me? Would you choose Delphi, C, C++, or another language to develop an
email client and organizer?
I don't now the differences between these object-oriented languages...
Thanks a lot,

--
Charles.


It really depends what your goals are. You can't go wrong learning C or any
other language. I make my living using languages like Java and C#, but I feel
that years of programming in C (about 20 years now - where does the time go?)
helps me every day.

My advice would be, program every day. It's like playing a musical instrument -
you need to do always have your hand in. Object oriented languages like
SmallTalk, Java, and C++ (to a lesser extent) let you decompose the problem in a
different way and help most people manage complexity. I would worry less about
whether you are using OO, procedural, or 4GL type languages - think about
understanding algorithms, data structures, and having fun. If you enjoy what you
are doing, then that is your best indicator.

/qb

Nov 13 '05 #3
"Arthur J. O'Dwyer" <aj*@nospam.andrew.cmu.edu> writes:
On Mon, 10 Nov 2003, Alan Connor wrote:

I, for one, would very much to see a good defintion of "algorithm".


http://dictionary.reference.com/search?q=algorithm&r=67


Knuth Vol. 1, section 1.1 "Algorithms" is a good definition, if
you have easy access to it.
--
"Your correction is 100% correct and 0% helpful. Well done!"
--Richard Heathfield
Nov 13 '05 #4
On Mon, 10 Nov 2003 01:37:25 -0500 (EST), Arthur J. O'Dwyer <aj*@nospam.andrew.cmu.edu> wrote:

On Mon, 10 Nov 2003, Alan Connor wrote:

I, for one, would very much to see a good defintion of "algorithm".


http://dictionary.reference.com/search?q=algorithm&r=67
-Arthur,
trip trap! trip trap!


Thanks. I'll give it a looksee and then ask you to explain it :-)

But it will be a while. I do not have continuous access to the Internet.

--
Alan C this post ends with w
q
Nov 13 '05 #5
On 09 Nov 2003 23:10:36 -0800, Ben Pfaff <bl*@cs.stanford.edu> wrote:


"Arthur J. O'Dwyer" <aj*@nospam.andrew.cmu.edu> writes:
On Mon, 10 Nov 2003, Alan Connor wrote:
>
> I, for one, would very much to see a good defintion of "algorithm".


http://dictionary.reference.com/search?q=algorithm&r=67


Knuth Vol. 1, section 1.1 "Algorithms" is a good definition, if
you have easy access to it.
--
"Your correction is 100% correct and 0% helpful. Well done!"
--Richard Heathfield


Alas not. But thanks.

--
Alan C this post ends with w
q
Nov 13 '05 #6
Alan Connor wrote:
I, for one, would very much to see a good defintion of "algorithm".


"The Art of Computer Programming", Volume 1, Chapter 1, Section 1, pages 1
to 6.

--
Richard Heathfield : bi****@eton.powernet.co.uk
"Usenet is a strange place." - Dennis M Ritchie, 29 July 1999.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
K&R answers, C books, etc: http://users.powernet.co.uk/eton
Nov 13 '05 #7
On Mon, 10 Nov 2003 07:29:10 +0000, Alan Connor wrote:
Thanks. I'll give it a looksee and then ask you to explain it :-)

But it will be a while. I do not have continuous access to the Internet.


Short explanation: A step by step reciepe for doing something (not
nessesarily by using a computer, it could be step by step rules for
solving an equation on paper). Very often used to describe "the way to do
something" in programming.

Eg: step by step instructions for how to add an element at position N of
an array.

1. If nessesary increase array size.
2. Move all elements larger than N one place down the array.
3. Insert the new value at position N.

Wich translates nicely to (untested and probably buggy) code:

int add_to_array(int value,
int** array,
size_t pos;
size_t *array_length,
size_t *array_elements)
{
int *new_array;
/* step 1 */
if (*array_elements == *array_length) {
/* adding would go over the edge */
new_array = realloc(**array, sizeof(**array) * (array_elements + 1));
if (!new_array) {
return 0; /* fail */
}
*array = new_array;
++(*array_length);
}
/* step 2 */
memmove((*array)+pos+1,
(*array)+pos,
sizeof(**array)*(array_elements-pos));
/* step 3 */
*((*array)+pos) = value;
return 1;
}

--
NPV

"the large print giveth, and the small print taketh away"
Tom Waits - Step right up

Nov 13 '05 #8
Alan Connor <zz****@xxx.yyy> wrote:
On 09 Nov 2003 23:10:36 -0800, Ben Pfaff <bl*@cs.stanford.edu> wrote:
Knuth Vol. 1, section 1.1 "Algorithms" is a good definition, if
you have easy access to it.


Alas not. But thanks.


It is worth getting. Not cheap, but worth its price. If only because I
laughed out loud when I discovered that he'd even dug up the cuneiform
spelling of that one Babylonean chap in the index.

Richard
Nov 13 '05 #9
Alan Connor wrote:

"Algorithm". One of those mysterious terms that shows up in so many diverse
contexts that it must have many definitions. Or be extremely general.

Not mentioned in the K&R index....Yet there is an entire and highly technical
book called "Algorithms in C" (So it says in "C for Dummies" where it fails
to define the term.)

The FAQ uses the term about 6 times but doesn't define it.

It's not in any of my Linux books...

I, for one, would very much to see a good defintion of "algorithm".


It's a bad spelling of logarithm that your spell checker never catches.

/qb

Nov 13 '05 #10

"Charles" <go***********@yahoo.com> wrote in message

I would like to create an email client and organizer like MS Outlook,
and I would give myself a year to do this, in the evening & week-ends.
You can't produce something like MS Outlook in spare time, especially as a
new programmer. These utlities are deceptively difficult pieces of software
to write.
What would you do if you were me? Would you choose Delphi, C,
C++, or another language to develop an email client and organizer?
I'd probably do it in C++. The most important thing is what tools are
available.
I don't now the differences between these object-oriented languages...

You need to know C++ for any programming position, even if you don't do your
main development in it. Since C is a (near) subset of C++, this implies
knowing C, and you will also find many algorithms specified in pure C.
There's some dispute about whether it is better to learn C first then move
on to C++, or to learn the C++ way of doing things and then pick up C as you
go. Personally I'm in favour of learning C first.

You need to know a programming language quite well before you can understand
the difference between procedural and object-oriented designs.
Nov 13 '05 #11
Charles wrote:
Hi folks,

I would like to create an email client and organizer like MS Outlook, and I would give myself a year
to do this, in the evening & week-ends.
I have been looking for information on how to do it, and I found out I can develop such a program
using C, C++, or Delphi. I am new at programming, I just know some PHP, and JavaScript that I use
for my job, I like it. I don't know other languages, such as object-oriented languages.
What would you do if you were me? Would you choose Delphi, C, C++, or another language to develop an
email client and organizer?
I don't now the differences between these object-oriented languages...
Thanks a lot,

--
Charles.


If I were you and read from news:comp.lang.c++, I would suggest C++.
If I were you and read from news:comp.lang.c, I would suggest C.
If I were you and read from news:comp.lang.pascal, I would suggest Pascal.

Pick one, learn it. Pick another, learn it. Learn the differences
between the two languages. Come up with a list of applications
that are more efficiently written in either language. Pick another
language. Learn it. List the differences between the three.
Make a chart of applications. List next to each application
the language you would choose to implement it in, and the reasons.
Pick another language. Learn it. Revise your chart.

I suggest learning the following languages:
C, Pascal, Fortran, Lisp and 3 different assembly languages.
Each one of the above has different structures and code flow.
Neither is better for all applications than another. Each has
its own lists of applications that it is suited for.

Other convenient languages:
C++, awk, sed, Prolog, Perl, Basic, Ada, SmallTalk, Snobol,
PL/1, Java, and Cobol.

--
Thomas Matthews

C++ newsgroup welcome message:
http://www.slack.net/~shiva/welcome.txt
C++ Faq: http://www.parashift.com/c++-faq-lite
C Faq: http://www.eskimo.com/~scs/c-faq/top.html
alt.comp.lang.learn.c-c++ faq:
http://www.raos.demon.uk/acllc-c++/faq.html
Other sites:
http://www.josuttis.com -- C++ STL Library book

Nov 13 '05 #12
Malcolm wrote:
"Charles" <go***********@yahoo.com> wrote in message

I would like to create an email client and organizer like MS
Outlook, and I would give myself a year to do this, in the
evening & week-ends.

You can't produce something like MS Outlook in spare time,
especially as a new programmer. These utlities are deceptively
difficult pieces of software to write.


Sure you can. All you have to do is write buggy code and ignore
all standards, and you can probably outdo the original with ease.

I suggest Charles sets his ambitions somewhat higher.

--
Chuck F (cb********@yahoo.com) (cb********@worldnet.att.net)
Available for consulting/temporary embedded and systems.
<http://cbfalconer.home.att.net> USE worldnet address!
Nov 13 '05 #13

Get your Server or Homepage now

Choose which one you prefer.
Redhat, Debian, FreeBSD, Mandrake, Windows, SUSE
http://www.comserver.net
Nov 13 '05 #14
On Mon, 10 Nov 2003 05:26:42 GMT, John Kordyback <jk********@hotmail.com> wrote:

<snip>

It really depends what your goals are. You can't go wrong learning C or any
other language. I make my living using languages like Java and C#, but I feel
that years of programming in C (about 20 years now - where does the time go?)
helps me every day.

My advice would be, program every day. It's like playing a musical instrument -
you need to do always have your hand in. Object oriented languages like
SmallTalk, Java, and C++ (to a lesser extent) let you decompose the problem in a
different way and help most people manage complexity. I would worry less about
whether you are using OO, procedural, or 4GL type languages - think about
understanding algorithms, data structures, and having fun. If you enjoy what you
are doing, then that is your best indicator.

/qb


"Algorithm". One of those mysterious terms that shows up in so many diverse
contexts that it must have many definitions. Or be extremely general.

Not mentioned in the K&R index....Yet there is an entire and highly technical
book called "Algorithms in C" (So it says in "C for Dummies" where it fails
to define the term.)

The FAQ uses the term about 6 times but doesn't define it.

It's not in any of my Linux books...

I, for one, would very much to see a good defintion of "algorithm".
--
Alan C this post ends with w
q
Nov 13 '05 #15

On Mon, 10 Nov 2003, Alan Connor wrote:

I, for one, would very much to see a good defintion of "algorithm".


http://dictionary.reference.com/search?q=algorithm&r=67
-Arthur,
trip trap! trip trap!
Nov 13 '05 #16

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

Similar topics

7
by: python | last post by:
Hello folks, I have been programming with Perl then with Python for about 7 years. But I have heard a lot of praise about PHP but I would like to know what is so nice with PHP and if it is worth...
303
by: mike420 | last post by:
In the context of LATEX, some Pythonista asked what the big successes of Lisp were. I think there were at least three *big* successes. a. orbitz.com web site uses Lisp for algorithms, etc. b....
55
by: Elijah | last post by:
I have read many of the topics on learning C++ or Java first. It seems like everyone says something different. I would like to know if I should learn C++ or Java. First a little about myself. I...
5
by: larry | last post by:
Hi. Our company has about 20 application developers/architects and one certified dba. Our developers both design the databases and build the applications. We're confused about what permissions a...
21
by: TAM | last post by:
Hi, I read that ASP.NET uses VB.NET instead of VBScript. I also read that ASP.NET is a subset of VB.NET. So if I learn VB.NET first then do I have the knowledge for programming ASP.NET...
42
by: Scott Sellers | last post by:
Hi, I am a Junior Software Engineer who currently works programming in Delphi. I have been working with Delphi for around 12mths but I am interested in learning C++. The reason for this...
18
by: Zytan | last post by:
I want the same function to be run whether you press Enter or double click the listbox. It seems really verbose to write both handlers to both events everytime, even if they both call the same...
12
by: Srdja123 | last post by:
Like the topic says, I want to learn a language, but which should I learn? Which language will be mostly used in the future? C++ or C#?
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
1
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: af34tf | last post by:
Hi Guys, I have a domain whose name is BytesLimited.com, and I want to sell it. Does anyone know about platforms that allow me to list my domain in auction for free. Thank you
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 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 former...

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.