473,809 Members | 2,763 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

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 2261
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.and rew.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.and rew.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.stanfor d.edu> wrote:


"Arthur J. O'Dwyer" <aj*@nospam.and rew.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.pow ernet.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(in t value,
int** array,
size_t pos;
size_t *array_length,
size_t *array_elements )
{
int *new_array;
/* step 1 */
if (*array_element s == *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_lengt h);
}
/* step 2 */
memmove((*array )+pos+1,
(*array)+pos,
sizeof(**array) *(array_element s-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.stanfor d.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

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

Similar topics

7
2844
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 starting to learn PHP. Cheers, L.B.
303
17811
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. Yahoo store was originally written in Lisp. c. Emacs The issues with these will probably come up, so I might as well mention them myself (which will also make this a more balanced
55
46019
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 know PHP, BASIC, and of course HTML. I'll be 15 years old in September. I am interested in programming GUI applications. I am also interested in programming games. I know that I should learn C++ to program games, but would learning Java make the...
5
8556
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 developer is supposed to have. On the one hand, we obviously don't want developers to have privileges like shutting down the db. On the other hand, some of the Oracle tools, like Change Management Pack, are things that our developers need to run....
21
2865
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 applications or do I need to learn both VB.NET and ASP.NET. Thank you. TAM
42
2015
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 interest is that I noticed that alot of universities have started to teach C++ as their core language and I am beginning to think that its time now to widen my range of programming languages/skills. When I was at university I personally learned Java
18
4617
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 function, or one calls the other. Isn't there an event for 'ListBox selection selected' that is automatically called by ALL the standard GUI ways of doing it? C'mon, this is C#, we aren't supposed to be programming the GUI. There has to be such...
12
2323
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
10635
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...
1
10378
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,...
0
10115
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
9198
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7653
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
6881
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5687
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4332
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
3
3013
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.