473,836 Members | 1,586 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Simplicity has a future

A recent article on CNN described the problem that phone makers
are facing.

(http://www.cnn.com/2006/TECH/biztech....ap/index.html)

Most people are rejecting the new "supercharg ed"
cell phones because they just do not want to learn the
incredible complex menus and stuff that you need to use them.

The new phones are just too complicated to use.

The same thing is happening with programming languages too.

Extremey complicated languages like C++ are loosing ground to more
simpler languages. People get tired of trying to learn a
monster language where learning the language gets in the way
of the basic needs of the user. You use a language to do something,
and when you have to learn too much stuff or the learning curve
is too steep, a simpler language wins.

This means for C, that C (contrary to what many people think)
has a good opportunity to attract new users. Being a much
simpler language it is the language of choice when you want something
that works without a lot of effort.

This could explain why the download rate of the lcc-win32 compiler
that offers only C stays since several years high. In this month
we have a mean download rate of around 300-400 per day at one of
our sites, probably more at the main downloading site.
May 30 '06
109 4598
Le 30-05-2006, jacob navia <ja***@jacob.re mcomp.fr> a écrit*:
A recent article on CNN described the problem that phone makers
are facing.

(http://www.cnn.com/2006/TECH/biztech....ap/index.html)

Most people are rejecting the new "supercharg ed"
cell phones because they just do not want to learn the
incredible complex menus and stuff that you need to use them.

The new phones are just too complicated to use.

The same thing is happening with programming languages too.
With a big difference: most 'programming languages' users
are professionnals, and a (good) professional is ready to
learn if it can increase its productivity.

Well, that is the same stupid war for text editors:
NotePad, Gedit, Vi[m], [X]emacs...
Its takes time to learn how to use Vi/emacs but
once you knows it, you write code more efficiently than
with NotePad.
But, if you want to read the all documentation
of vi before writting your first text, yes, chose NotePad.
Extremey complicated languages like C++ are loosing ground to more
simpler languages.
Sure ?
People get tired of trying to learn a
monster language where learning the language gets in the way
of the basic needs of the user. You use a language to do something,
and when you have to learn too much stuff or the learning curve
is too steep, a simpler language wins.


OK, try this simple test: write a code that read a text line,
without any assumption on its maximal size. Is the C solution
really simplier that the C++ one ?

Marc Boyer
May 31 '06 #51
Marc Boyer said:
OK, try this simple test: write a code that read a text line,
without any assumption on its maximal size. Is the C solution
really simplier that the C++ one ?


No, not really. My C solution is very simple and very short: just 23 lines,
divided as follows:

Function declarator lines: 1 \
Blank lines: 1 |
Declaration lines: 5 \ sub-total: 16 lines, in what you might
Opening brace lines: 4 / call "furniture" code - stuff that you
Closing brace lines: 4 | don't really need to worry about.
Return statement: 1 /

That leaves seven more lines. Two of those lines comprise calls to an
existing function (of my own devising, which was not written with your task
in mind, but which was very handy anyway). Another is a loop control
statement (no surprise there). The other four lines are a couple of ifs and
a couple of simple assignments.

Anyone C programmer having trouble understanding the code would probably
have trouble understanding "Winnie the Pooh".

My C++ solution, however, is even simpler!

extern "C" {
#include "my_c_solution' s_header.h"
};

and linking in <insert library name here>.

--
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)
May 31 '06 #52

Richard Heathfield wrote:

Anyone C programmer having trouble understanding the code would probably
have trouble understanding "Winnie the Pooh".


You underestimate the depths of Winnie the Pooh!

May 31 '06 #53
"Vladimir Oka" <no****@btopenw orld.com> wrote:
Richard Heathfield wrote:

Anyone C programmer having trouble understanding the code would probably
have trouble understanding "Winnie the Pooh".


You underestimate the depths of Winnie the Pooh!


Especially in the original Latin.

Richard
May 31 '06 #54
Le 31-05-2006, Richard Heathfield <in*****@invali d.invalid> a écrit*:
OK, try this simple test: write a code that read a text line,
without any assumption on its maximal size. Is the C solution
really simplier that the C++ one ?
No, not really. My C solution is very simple and very short: just 23 lines,
divided as follows:

Function declarator lines: 1 \
Blank lines: 1 |
Declaration lines: 5 \ sub-total: 16 lines, in what you might
Opening brace lines: 4 / call "furniture" code - stuff that you
Closing brace lines: 4 | don't really need to worry about.
Return statement: 1 /

That leaves seven more lines. Two of those lines comprise calls to an
existing function (of my own devising, which was not written with your task
in mind, but which was very handy anyway).


Which one ?
Another is a loop control
statement (no surprise there). The other four lines are a couple of ifs and
a couple of simple assignments.

Anyone C programmer having trouble understanding the code would probably
have trouble understanding "Winnie the Pooh".
What is your definition of "C programmer" ?
When did you met C beginner last time ?
Or wich version of "Winnie the Pooh" did you have looked ?
My C++ solution, however, is even simpler!

extern "C" {
#include "my_c_solution' s_header.h"
};

and linking in <insert library name here>.


So C++ is simpler than C: that is what I wanted to illustrate ;-)

Marc Boyer
May 31 '06 #55

Marc Boyer wrote:
Le 31-05-2006, Richard Heathfield <in*****@invali d.invalid> a écrit :
My C++ solution, however, is even simpler!

extern "C" {
#include "my_c_solution' s_header.h"
};

and linking in <insert library name here>.


So C++ is simpler than C: that is what I wanted to illustrate ;-)


Standing on the shoulders of giants, yes.

May 31 '06 #56
Marc Boyer said:
Le 31-05-2006, Richard Heathfield <in*****@invali d.invalid> a écrit :
[Any] C programmer having trouble understanding the code would probably
have trouble understanding "Winnie the Pooh".
What is your definition of "C programmer" ?


Someone who understands C.
When did you met C beginner last time ?


Have you read this newsgroup recently?
My C++ solution, however, is even simpler!

extern "C" {
#include "my_c_solution' s_header.h"
};

and linking in <insert library name here>.


So C++ is simpler than C: that is what I wanted to illustrate ;-)


If you say so. But C is simpler than C++, *next* time, because *next* time I
need to use such a function, I can do this:

#include "my_c_solution' s_header.h"

and link in the appropriate library, without bothering with all that extern
"C" nonsense. We call it "code re-use", and I recommend it to you.

--
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)
May 31 '06 #57
Ben Pfaff <bl*@cs.stanfor d.edu> wrote:
"Tomas" <No.Email@Addre ss> writes:
Richard Heathfield posted:
foo *foo_create(int bar)
{
foo *new = malloc(sizeof *new);
if(new != NULL)
{
new->bar = bar;
}
return new;
}

specifically to remind me, should I ever try to use a C++ compiler on
the code, that I'm making a big mistake.


A facility as simple as "find and replace" solves the keyword problem.


Yes, and at the same time it screws up all the comments that use
"new" as an English word.


But C++ programmers aren't stupid enough to need comments.

Richard
May 31 '06 #58
Le 31-05-2006, Richard Heathfield <in*****@invali d.invalid> a écrit*:
Le 31-05-2006, Richard Heathfield <in*****@invali d.invalid> a écrit :
[Any] C programmer having trouble understanding the code would probably
have trouble understanding "Winnie the Pooh".


What is your definition of "C programmer" ?


Someone who understands C.


All the C99 standard ?
When did you met C beginner last time ?


Have you read this newsgroup recently?


I read very quicky... There are everyday too much
messages for me.
e My C++ solution, however, is even simpler!

extern "C" {
#include "my_c_solution' s_header.h"
};

and linking in <insert library name here>.


So C++ is simpler than C: that is what I wanted to illustrate ;-)


If you say so. But C is simpler than C++, *next* time, because *next* time I
need to use such a function, I can do this:

#include "my_c_solution' s_header.h"

and link in the appropriate library, without bothering with all that extern
"C" nonsense. We call it "code re-use", and I recommend it to you.


Did you see my ";-)" ? This was humor, joke, not an argument.
I am not going to argument what first was an example (reading one line)
and second a joke ("extern C" makes C++ better).

I do not arge that C++ is better than C, neither the opposite.
But I desagree with "simpler is better". Turing-like langage would
have been the better solution with such argument. There is a
'good compromise' to find between the complexity of the tool and
the complexity of the problems.

Marc Boyer
May 31 '06 #59
Marc Boyer said:
Le 31-05-2006, Richard Heathfield <in*****@invali d.invalid> a écrit :
Le 31-05-2006, Richard Heathfield <in*****@invali d.invalid> a écrit :
[Any] C programmer having trouble understanding the code would probably
have trouble understanding "Winnie the Pooh".

What is your definition of "C programmer" ?
Someone who understands C.


All the C99 standard ?


C90 is still C. Anyone who understands C90 sufficiently well is not likely
to struggle with C99.
When did you met C beginner last time ?


Have you read this newsgroup recently?


I read very quicky...


....and type too quicky too.
I do not arge that C++ is better than C, neither the opposite.
Good, because the answer to the question depends on what one means by
"better".
But I desagree with "simpler is better".


Good, because it depends on what you mean by "simpler".

--
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)
May 31 '06 #60

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

Similar topics

226
12750
by: Stephen C. Waterbury | last post by:
This seems like it ought to work, according to the description of reduce(), but it doesn't. Is this a bug, or am I missing something? Python 2.3.2 (#1, Oct 20 2003, 01:04:35) on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> d1 = {'a':1} >>> d2 = {'b':2} >>> d3 = {'c':3}
47
3673
by: David Eng | last post by:
> For many years now enterprise business application development has > been the core area for the use of C++. > Today a significant share to this segment has already been lost to > SUN's Java technology and with MS now abandoning C++ in favour if its > proprietery .NET and C# technology, how long can we except C++ to hold > on against these might competitors? > Has C++ become a dying language? > What is the future of C++? As I posted...
34
2476
by: JKop | last post by:
The other day I had to write some code to manipulate a Micrsoft Excel spreadsheet. I had to write it in Visual Basic, which I haven't used for about 5 years. Anyway, it slowly started creeping back to me and I began to understand terms like: ByVal (by value) ByRef (by reference) I remember how excited I was switching to C++, working with a better, more controllable language.
35
3366
by: GTO | last post by:
I do not believe that C# is the future of C++. I also do not believe that adding two thousand new library functions to the standard library is the future of C++. But what is the future of C++? Is it as good as a programming language can get? Like so many of you, I programmed speech recognizers, image recognition systems, a portion of a chess program, lots of numeric code using STL, and tons of other applications in C++, (even firmware...
2
1803
by: Eric Lindsay | last post by:
Most of the web pages whose source I look at have a very elaborate structure (even apart from any massive use of Javascript), often with div in div in div layered up to six deep, lots of classes and spans all over. I usually can't follow exactly why they are so elaborate (I know some are containers to avoid browser bugs). In addition to attempting to retrofit a more semantic structure on pages, I have been trying to reduce the...
6
14458
by: rohayre | last post by:
Im a long time java developer and actually have never done anything with java scripting. I'd like to write a short simple script for calculating a date in the future based on today's date and a letter. Can I use javascripting to create a webpage to allow a user to enter a letter and then click a button to find a future calendar date? I'm just not sure how much user interaction scripting allows. Does java scripting allow buttons, textfields...
190
8229
by: blangela | last post by:
If you had asked me 5 years ago about the future of C++, I would have told you that its future was assured for many years to come. Recently, I have been starting to wonder. I have been teaching C++ at a local polytechnical school here in Vancouver, Canada for approximately 8 years. Six years ago, at the height (or should I say volume?) of the internet bubble, I had 80+ students per semester in my C++ course. Now I am fortunate to have...
0
9668
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
10843
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
10546
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
10589
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
10254
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
9371
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
7790
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
6978
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
5825
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?

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.