Discussion:
[9fans] c++
(too old to reply)
steve
2012-11-19 22:48:09 UTC
Permalink
thanks all for being positive, i was wary that those on the 9fans list
might be a bit dismissive of c++.

i have been on a 3 day course and have been reading the c++ primer,
and have effective c++ also, so i seem well equipped. the environment
i am to use is Qt based as it has to be cross platform, though we hope to
try to keep the core vanilla STL based.

so far i have written a couple of hundred lines of c++, but for me the problem
i see is how to develop a sense of c++ style. I want to write good code, but I
don't even know what good c++ code looks like!

i will press on with it, and read the pointers that have been suggested.

thanks again.

-Steve

ps i am studiously not reading anything about go in case it distracts me... :-)
Jeff Sickel
2012-11-20 01:37:30 UTC
Permalink
On Nov 19, 2012, at 4:48 PM, steve <***@quintile.net> wrote:

> ps i am studiously not reading anything about go in case it distracts me... :-)

Oh good, that saves room for a new build of rust.

-jas
Matthew Veety
2012-11-20 02:08:53 UTC
Permalink
How do you studiously not do something? Doesn't the imply working
hard at something?

-- Veety
Steve Simon
2012-11-20 10:12:08 UTC
Permalink
> How do you studiously not do something? Doesn't the imply working
> hard at something?

Indeed, everything I did read about Go made it look very attractive so I am ignoring it
as I know myself. If I read more I will start to get annoyed that I am wasting my time learning C++
when Go is a much better solution. Its the sam reason I use plan9 and not Windows/Linux/OSX etc.

its a backhanded compliment to the Go authors that I must not look at their work (yet).

-Steve
Balwinder S Dheeman
2012-11-22 09:54:34 UTC
Permalink
On 11/20/2012 03:42 PM, Steve Simon wrote:
>> How do you studiously not do something? Doesn't the imply working
>> hard at something?
>
> Indeed, everything I did read about Go made it look very attractive so I am ignoring it
> as I know myself. If I read more I will start to get annoyed that I am wasting my time learning C++
> when Go is a much better solution. Its the sam reason I use plan9 and not Windows/Linux/OSX etc.
>
> its a backhanded compliment to the Go authors that I must not look at their work (yet).

Me, OTOH, would like see Go go out of fashion ASAP; What's so special a
C/C++ programmer can't do what she/he can do with Go?

--
Balwinder S "bdheeman" Dheeman
(http://werc.homelinux.net/contact/)
l***@proxima.alt.za
2012-11-22 10:07:45 UTC
Permalink
> Me, OTOH, would like see Go go out of fashion ASAP; What's so special a
> C/C++ programmer can't do what she/he can do with Go?

What is so special a COBOL programmer can't do?

++L
Nemo
2012-11-22 10:21:47 UTC
Permalink
Halo 4

On Nov 22, 2012, at 11:07 AM, ***@proxima.alt.za wrote:

> What is so special a COBOL programmer can't do?
l***@proxima.alt.za
2012-11-22 15:37:40 UTC
Permalink
> Halo 4

Whatever it is, I haven't needed it in the past 38 years, should I
have?

++L
Nemo
2012-11-22 16:19:15 UTC
Permalink
it's an Xbox game. and yes, you
need it ;)

On Nov 22, 2012, at 4:37 PM, ***@proxima.alt.za wrote:

>> Halo 4
>
> Whatever it is, I haven't needed it in the past 38 years, should I
> have?
>
> ++L
>
l***@proxima.alt.za
2012-11-22 16:31:56 UTC
Permalink
> it's an Xbox game. and yes, you
> need it ;)

Xbox-360? Surely it runs IBM code?

:-)

++L
David Leimbach
2012-11-25 06:09:22 UTC
Permalink
On Nov 22, 2012 8:31 AM, <***@proxima.alt.za> wrote:
>
> > it's an Xbox game. and yes, you
> > need it ;)
>
> Xbox-360? Surely it runs IBM code?
>

Yes. IBM power pc
> :-)
>
> ++L
>
>
Charles Forsyth
2012-11-22 10:39:24 UTC
Permalink
I wrote compilers and emulators in COBOL, which was the fastest
language on the machine.
I ought to have written a little OS for the emulator, but I didn't
think of that.

A friend like defining level 88 conditions as TRUE with names like
THE-COWS-COME-HOME so that he
could write PERFORM ... UNTIL THE-COWS-COME-HOME

On 22 November 2012 10:07, <***@proxima.alt.za> wrote:
> What is so special a COBOL programmer can't do?
Lluís Batlle i Rossell
2012-11-22 10:18:45 UTC
Permalink
On Thu, Nov 22, 2012 at 09:54:34AM +0000, Balwinder S Dheeman wrote:
> On 11/20/2012 03:42 PM, Steve Simon wrote:
> >>How do you studiously not do something? Doesn't the imply working
> >>hard at something?
> >
> >Indeed, everything I did read about Go made it look very attractive so I am ignoring it
> >as I know myself. If I read more I will start to get annoyed that I am wasting my time learning C++
> >when Go is a much better solution. Its the sam reason I use plan9 and not Windows/Linux/OSX etc.
> >
> >its a backhanded compliment to the Go authors that I must not look at their work (yet).
>
> Me, OTOH, would like see Go go out of fashion ASAP; What's so
> special a C/C++ programmer can't do what she/he can do with Go?

I find big wins in go, but I hope it will be still improved.

The lack of header files is very nice, to mention only one big annoyance I see
in C/C++. :)

C/C++ don't have so fast (and ready) 'goroutines'. I hate writing state
machines; let the per-goroutine-stack hold every state!
hiro
2012-11-22 11:34:16 UTC
Permalink
> Me, OTOH, would like see Go go out of fashion ASAP; What's so special a
> C/C++ programmer can't do what she/he can do with Go?

Looking at it from a theoretical educational view:
As someone who had to use java in school and C++ in high school I'm
sure my mental health would be in a better state if we had Go there.
C++ and java feel highly inconsistent and are full of stupid busywork
and strange programming philosophies that you have to "learn" about,
but teach you nothing.
Charles Forsyth
2012-11-22 11:57:13 UTC
Permalink
I'm writing Java now, after a long gap, and it's ok.
It has its share of annoying aspects, but it's not too bad.
Java is a bit like a high-level assembler for the JVM,
and there are too many packages, many with intricate interfaces and conventions.
C# fixes every one of my complaints about the Java language,
and generally seems more thoughtful.

I simply ignore the philosophy as much as I can,
although it's hard to escape the terminology (all those "factories").

On 22 November 2012 11:34, hiro <***@gmail.com> wrote:
> java feel highly inconsistent and are full of stupid busywork
> and strange programming philosophies that you have to "learn" about,
> but teach you nothing.
Dan Cross
2012-11-22 14:25:23 UTC
Permalink
VisitorFactoryBuilderFactorySingletonDecoratorFactory.


On Thu, Nov 22, 2012 at 6:57 AM, Charles Forsyth
<***@gmail.com>wrote:

> I'm writing Java now, after a long gap, and it's ok.
> It has its share of annoying aspects, but it's not too bad.
> Java is a bit like a high-level assembler for the JVM,
> and there are too many packages, many with intricate interfaces and
> conventions.
> C# fixes every one of my complaints about the Java language,
> and generally seems more thoughtful.
>
> I simply ignore the philosophy as much as I can,
> although it's hard to escape the terminology (all those "factories").
>
> On 22 November 2012 11:34, hiro <***@gmail.com> wrote:
> > java feel highly inconsistent and are full of stupid busywork
> > and strange programming philosophies that you have to "learn" about,
> > but teach you nothing.
>
>
Hugo Rivera
2012-11-22 13:13:30 UTC
Permalink
Wow, C++ and Java in high school...
We had nothing like that. Probably because I come from an
underdeveloped country; but I don't know, maybe having nothing to
learn is better than "learning" C++/Java.

2012/11/22 hiro <***@gmail.com>:
>> Me, OTOH, would like see Go go out of fashion ASAP; What's so special a
>> C/C++ programmer can't do what she/he can do with Go?
>
> Looking at it from a theoretical educational view:
> As someone who had to use java in school and C++ in high school I'm
> sure my mental health would be in a better state if we had Go there.
> C++ and java feel highly inconsistent and are full of stupid busywork
> and strange programming philosophies that you have to "learn" about,
> but teach you nothing.
>



--
Hugo
hiro
2012-11-22 13:48:57 UTC
Permalink
Java was not in high school, but in 9th grade in a normal German school.

On Thu, Nov 22, 2012 at 2:13 PM, Hugo Rivera <***@gmail.com> wrote:
> Wow, C++ and Java in high school...
> We had nothing like that. Probably because I come from an
> underdeveloped country; but I don't know, maybe having nothing to
> learn is better than "learning" C++/Java.
>
> 2012/11/22 hiro <***@gmail.com>:
>>> Me, OTOH, would like see Go go out of fashion ASAP; What's so special a
>>> C/C++ programmer can't do what she/he can do with Go?
>>
>> Looking at it from a theoretical educational view:
>> As someone who had to use java in school and C++ in high school I'm
>> sure my mental health would be in a better state if we had Go there.
>> C++ and java feel highly inconsistent and are full of stupid busywork
>> and strange programming philosophies that you have to "learn" about,
>> but teach you nothing.
>>
>
>
>
> --
> Hugo
>
erik quanstrom
2012-11-22 14:22:07 UTC
Permalink
On Thu Nov 22 08:50:13 EST 2012, ***@gmail.com wrote:
> Java was not in high school, but in 9th grade in a normal German school.

i think you're trying to make a subtile distinction about
the german educational system using american terms. if so,
it would be much less confusing with untranslated terms.

9th grade is usually 1st year "high school" in the us.

- erik
erik quanstrom
2012-11-22 14:47:18 UTC
Permalink
i agree with your point. but i think that you the statments you point
out are hyperbole.

> In the big scheme of things, absolutely none of this matters. Whether one
> programs in Java, C, Go, COBOL or 370 assembler doesn't really make any
> difference; one could die tomorrow, and would anyone care what language
> s/he programmed in? really? This world has bigger problems than that.

this argument isn't a good one. this is a variation of the
"finish your plate there are starving kids in africa" argument. the fact
that there are starving kids in africa has no bearing on if the kid in
the quote has had enough to eat.

the fact that there are bigger problems in the world does not imply
that we ourselves are in a position to do anything about them. heck,
i see problems very close to home that i can't do much about. i can
try to make arguments, but very often there is no direct influence that
can be made. and being right is no comfort.

- erik
Hugo Rivera
2012-11-22 14:55:24 UTC
Permalink
> the fact that there are bigger problems in the world does not imply
> that we ourselves are in a position to do anything about them. heck,
> i see problems very close to home that i can't do much about. i can
> try to make arguments, but very often there is no direct influence that
> can be made. and being right is no comfort.
>

Of course, it depends on the problem considered. But I think the big
problems in the world have little to do with programming languages,
particularly c++, which is the topic at hand.

--
Hugo
t***@polynum.com
2012-11-22 15:47:46 UTC
Permalink
On Thu, Nov 22, 2012 at 03:54:11PM +0100, Hugo Rivera wrote:
>
> Of course, it depends on the problem considered. But I think the big
> problems in the world have little to do with programming languages,
> particularly c++, which is the topic at hand.

But you are wrong... There are numerous big and desastrous problems
caused because of the inteconnections, the almost instantaneous and
worldwide speculation, not to count instantaneous and worldwide bugs,
all linked to programming.

This is not "butterfly's wings" in Far East that can cause a
earthquake in Occident, but a software bug in something used or relied
upon everywhere...

--
Thierry Laronde <tlaronde +AT+ polynum +dot+ com>
http://www.kergis.com/
Key fingerprint = 0FF7 E906 FBAF FE95 FD89 250D 52B1 AE95 6006 F40C
erik quanstrom
2012-11-22 16:00:51 UTC
Permalink
On Thu Nov 22 10:48:35 EST 2012, ***@polynum.com wrote:
> On Thu, Nov 22, 2012 at 03:54:11PM +0100, Hugo Rivera wrote:
> >
> > Of course, it depends on the problem considered. But I think the big
> > problems in the world have little to do with programming languages,
> > particularly c++, which is the topic at hand.
>
> But you are wrong... There are numerous big and desastrous problems
> caused because of the inteconnections, the almost instantaneous and
> worldwide speculation, not to count instantaneous and worldwide bugs,
> all linked to programming.
>
> This is not "butterfly's wings" in Far East that can cause a
> earthquake in Occident, but a software bug in something used or relied
> upon everywhere...

putting aside that i don't believe that the big problems like war and hunger
have anything to do with programming errors, ....

i don't know which bugs you're talking about, but there is little
chance that any of us choose the programming language these unknown systems
were implemented in. so i see this as a perpetuation of the "clean your
plate" argument. it's spurious.

and even that aside, can you cite studies that show that the choice of programming
language is the dominant term in determining the error rate of the resulting
code?

- erik
Bakul Shah
2012-11-22 16:11:14 UTC
Permalink
On Nov 22, 2012, at 8:00 AM, erik quanstrom <***@quanstro.net> wrote:
> and even that aside, can you cite studies that show that the choice of programming
> language is the dominant term in determining the error rate of the resulting
> code?

Buffer overflow exploits.
l***@proxima.alt.za
2012-11-22 16:15:53 UTC
Permalink
> and even that aside, can you cite studies that show that the choice of programming
> language is the dominant term in determining the error rate of the resulting
> code?

Come on, Erik, are you suggesting that because there are no studies,
the situation could not exist?

It is only my opinion, but I miss the ability to design and build
arbitrary adapters for the most common desktop platform(s) available
with my limited skills, something I could do and did in the early
1980s. The growth in complexity in that platform has created a much
higher entry bar that I certainly can't surmount any more. The
associated growth in complexity in programming paradigms goes hand in
hand with the more powerful, but less accessible platforms and the
occurrence of bugs has almost certainly grown with both.

For one of those bugs to creep into a decision making computer and
cause real harm is not to be excluded.

Sorry if the relevance isn't obvious, I'm always fearful of boring the
reader :-)

++L
erik quanstrom
2012-11-22 16:31:48 UTC
Permalink
On Thu Nov 22 11:15:36 EST 2012, ***@proxima.alt.za wrote:
> > and even that aside, can you cite studies that show that the choice of programming
> > language is the dominant term in determining the error rate of the resulting
> > code?
>
> Come on, Erik, are you suggesting that because there are no studies,
> the situation could not exist?

i don't know that they do or don't. but to me that was the clear
assumption.

my hunch is that there is more evidence that development practice
and culture have a stronger bearing on the quality of the code than
the implementation language.

for example, the folks who wrote the space shuttle software
(originally ibm) downplayed their language, but made a point of
talking about how they developed code.

their results were quite good. one software-caused failsafe in
all the launches.

so that's just an anecdote. i'd like to know more about the subject.

- erik
l***@proxima.alt.za
2012-11-22 17:30:45 UTC
Permalink
> so that's just an anecdote. i'd like to know more about the subject.

It's not going to be a popular subject, I don't think your curiosity
will be rewarded.

I do agree that culture is very important. I also think that I was
extremely lucky to learn computing at the time when there were many
diverse architectures and assembler programming was how you gat the
most from the limited resources available. I wish I could teach my
target audience the same way, despite the perception that such
knowledge is no longer relevant.

++L
t***@polynum.com
2012-11-22 16:18:56 UTC
Permalink
On Thu, Nov 22, 2012 at 11:00:51AM -0500, erik quanstrom wrote:
>
> putting aside that i don't believe that the big problems like war and hunger
> have anything to do with programming errors, ....

There have been already numerous hundreds of millions if not billions of
money losses by financial teams due to software bugs. And since, more
and more, programs make "decisions" based only on superficiality (no
semantics), software acts as an amplifier.

There is the example of big mirrors that are hand polished, not because
a human is less error prone : on the contrary, but because a machine
makes few errors but always the sames, in this case always in the same
area, while a human will make far more errors but random ones, not
localized leading to a more even surface.

>
> and even that aside, can you cite studies that show that the choice of programming
> language is the dominant term in determining the error rate of the resulting
> code?

No, i have none since I'm already too busy programming so I have time to
gain not to loose...

But I will make an assumption: one will find that the most desastrous
software bugs are from the softwares the most widely deployed and
the more "high level" ones; that these are put in the wild because they
are easy and need to catch an audience in the hurry; and that these
have been wanted by people with the most "high level" view of
programming that is the more farther, enforcing the use of the
language "du jour". So the results are biaised: the languages are
not bad by themselves, but because some people use them not by need
and not by understanding the needs, but because this is the mandatory
language of the trend...

--
Thierry Laronde <tlaronde +AT+ polynum +dot+ com>
http://www.kergis.com/
Key fingerprint = 0FF7 E906 FBAF FE95 FD89 250D 52B1 AE95 6006 F40C
Pavel Klinkovsky
2012-11-22 17:40:25 UTC
Permalink
> and even that aside, can you cite studies that show that the choice of programming
> language is the dominant term in determining the error rate of the resulting
> code?

Could it help?
http://archive.adaic.com/intro/ada-vs-c/cada_art.html

Pavel
t***@polynum.com
2012-11-22 18:11:27 UTC
Permalink
On Thu, Nov 22, 2012 at 05:40:25PM +0000, Pavel Klinkovsky wrote:
> > and even that aside, can you cite studies that show that the choice of programming
> > language is the dominant term in determining the error rate of the resulting
> > code?
>
> Could it help?
> http://archive.adaic.com/intro/ada-vs-c/cada_art.html

The study is interesting and the conclusion so too, since there is a way
to use a language, partly due to the language, partly due to the
know-how and habits of the language (Ada programmers made more comments
about what the code was supposed to do, and there was a better locality
of bugs indicating a better partitionning).

FWIW, litterate programming (cweb) has improved the quality of my C
code, precisely because of comments (but learning not to make books, but
to get to the point), and subdivision. Fixing or improving is also
easier then.

But it took me some time to find my "style" or to understand
better how to use it, and the first uses were disastrous (a lengthy
"discussion" beating around the bush and not helping in anyway to
describe the problem---not to speak about "smart" reflexions that were,
on re-reading, mathematical nonsense---, followed by a lengthy code
that was not directly related to the "discussion" since I had spent
to much time "discussing" and needed to have the job done...). It
was no miracle per se, but a tool helping to improve if used
correctly.

The situation is complexe. But there are languages that give you the
power but enforcing some strict rules (I simply hate the implicit
features or automatic polymorphic features of languages; source code
where non visible chars have syntactic meaning; I prefer strong
type checking enforcements etc.) And there are habits that are taught
and learned, and with the very same language, there may be schools,
correct and bad ones...

That's why, BTW, the trend to think that a programmer or a developer
should be dropped when he gets old, is dropping the know-how that has
probably not a small effect on the quality of code, independantly from
the language by itself.

--
Thierry Laronde <tlaronde +AT+ polynum +dot+ com>
http://www.kergis.com/
Key fingerprint = 0FF7 E906 FBAF FE95 FD89 250D 52B1 AE95 6006 F40C
l***@proxima.alt.za
2012-11-22 16:06:13 UTC
Permalink
> Of course, it depends on the problem considered. But I think the big
> problems in the world have little to do with programming languages,
> particularly c++, which is the topic at hand.

Well, in the unequal world of long-post-apartheid rural South Africa
where I live, my hope is to teach unspoilt, but also uneducated kids
programming using Go on a Plan 9 platform (the teaching, mostly).
Doing the same in C++ or Java would demand much more effort on my part
and much more powerful resources than I have at my disposal.
Eventually, we may get over these obstacles, but by then I'm hoping
the ability to solve problems using Go will already be an asset for
the kids.

Am I delusional? Maybe, but it's worth a try.

++L
erik quanstrom
2012-11-22 16:07:18 UTC
Permalink
> Well, in the unequal world of long-post-apartheid rural South Africa
> where I live, my hope is to teach unspoilt, but also uneducated kids
> programming using Go on a Plan 9 platform (the teaching, mostly).
> Doing the same in C++ or Java would demand much more effort on my part
> and much more powerful resources than I have at my disposal.
> Eventually, we may get over these obstacles, but by then I'm hoping
> the ability to solve problems using Go will already be an asset for
> the kids.
>
> Am I delusional? Maybe, but it's worth a try.

that sounds reasonable to me! and good for you.

- erik
Hugo Rivera
2012-11-22 16:12:29 UTC
Permalink
Great, you have my admiration, for what's worth. I truly mean that, no
sarcasm or anything alike. It would be much better if I could offer my
support instead, and maybe some day I could try to do something
similar as you are.

2012/11/22 <***@proxima.alt.za>:
>> Of course, it depends on the problem considered. But I think the big
>> problems in the world have little to do with programming languages,
>> particularly c++, which is the topic at hand.
>
> Well, in the unequal world of long-post-apartheid rural South Africa
> where I live, my hope is to teach unspoilt, but also uneducated kids
> programming using Go on a Plan 9 platform (the teaching, mostly).
> Doing the same in C++ or Java would demand much more effort on my part
> and much more powerful resources than I have at my disposal.
> Eventually, we may get over these obstacles, but by then I'm hoping
> the ability to solve problems using Go will already be an asset for
> the kids.
>
> Am I delusional? Maybe, but it's worth a try.
>
> ++L
>
>



--
Hugo
l***@proxima.alt.za
2012-11-22 16:25:34 UTC
Permalink
> Great, you have my admiration, for what's worth. I truly mean that, no
> sarcasm or anything alike. It would be much better if I could offer my
> support instead, and maybe some day I could try to do something
> similar as you are.

Nice as it is to receive support, I must warn you that I have not yet
embarked on much of a project, although I have the excuse that right
now the kids are writing exams and I am busy with an active task that
involves programming in Go and learning the ropes as I go. I do not
want to give the impression that this is an accomplished thing, just
something I am hopefully getting closer to achive.

But thanks for the kind words, they do serve to encourage me.

++L
Bakul Shah
2012-11-22 16:51:19 UTC
Permalink
On Nov 22, 2012, at 8:06 AM, ***@proxima.alt.za wrote:

>> Of course, it depends on the problem considered. But I think the big
>> problems in the world have little to do with programming languages,
>> particularly c++, which is the topic at hand.
>
> Well, in the unequal world of long-post-apartheid rural South Africa
> where I live, my hope is to teach unspoilt, but also uneducated kids
> programming using Go on a Plan 9 platform (the teaching, mostly).
> Doing the same in C++ or Java would demand much more effort on my part
> and much more powerful resources than I have at my disposal.
> Eventually, we may get over these obstacles, but by then I'm hoping
> the ability to solve problems using Go will already be an asset for
> the kids.

Linux + python seems to be succeeding in the raspberryPi world.
Then there are things like MIT Scratch which is even easier for kids.
In the end what matters is developing thinking/problem solving skills.
Simpler languages allow to focus on problem solving.

Also, many uneducated or less educated kids have problems with
more basic skills of math etc. Hopefully inexpensive tablets can be
used to develop proficiency in such subjects (very few good teachers
in the kind of places you mention). A friend is developing such
web/tablet based lessons for similar kids in India (India has as big a
problem of poor ed. as the whole of Africa).
Charles Forsyth
2012-11-22 17:16:09 UTC
Permalink
That's a big advantage of Scratch, which I'd already mentioned
privately to Lucio.
It's easy to do animations (which are always fun), and use video clips, audio,
and other data in amusing ways. It includes communicating processes!

On 22 November 2012 16:51, Bakul Shah <***@bitblocks.com> wrote:
> Also, many uneducated or less educated kids have problems with
> more basic skills of math etc. Hopefully inexpensive tablets can be
> used to develop proficiency in such subjects (very few good teachers
> in the kind of places you mention).
l***@proxima.alt.za
2012-11-22 17:39:25 UTC
Permalink
> A friend is developing such
> web/tablet based lessons for similar kids in India (India has as big a
> problem of poor ed. as the whole of Africa).

The BBC reports exceptional success by some NGOs introducing tablets
in rural (central) Africa amongst children. But the price is wrong.
Scrappy, perfectly adequate, if antiquated, computer equipment
discarded in the West and even locally, by urban residents and
organisations, on the other hand, is much more affordable.
Electricity is an issue, but the cost of PV panels and inverters is
dropping.

Please continue with suggestions, I have a few weeks to get started
and there may well be many ideas I have not considered (MIT Scratch is
one such idea Charles already mentioned) and may make all the
difference. Maybe in private mail?

Also, I have never seen any educational games for the PS2 (I bought
one a while back as an experiment). I would have thought it would be
something worthwhile, maybe I'm too far from the mainstream to have
come across such games?

++L
hiro
2012-11-22 17:53:47 UTC
Permalink
Books do still get printed btw.
l***@proxima.alt.za
2012-11-22 18:13:42 UTC
Permalink
> Books do still get printed btw.

I'm still looking for a copy of Hollindale and Toothill's "Digital
Computers" (from memory, of course), which I remember being another of
the formative books I was privileged to read.

++L
Paul Lalonde
2012-11-22 17:51:45 UTC
Permalink
PS2 development is generally too expensive for the cost model of education
games, sadly.


On Thu, Nov 22, 2012 at 9:39 AM, <***@proxima.alt.za> wrote:

> > A friend is developing such
> > web/tablet based lessons for similar kids in India (India has as big a
> > problem of poor ed. as the whole of Africa).
>
> The BBC reports exceptional success by some NGOs introducing tablets
> in rural (central) Africa amongst children. But the price is wrong.
> Scrappy, perfectly adequate, if antiquated, computer equipment
> discarded in the West and even locally, by urban residents and
> organisations, on the other hand, is much more affordable.
> Electricity is an issue, but the cost of PV panels and inverters is
> dropping.
>
> Please continue with suggestions, I have a few weeks to get started
> and there may well be many ideas I have not considered (MIT Scratch is
> one such idea Charles already mentioned) and may make all the
> difference. Maybe in private mail?
>
> Also, I have never seen any educational games for the PS2 (I bought
> one a while back as an experiment). I would have thought it would be
> something worthwhile, maybe I'm too far from the mainstream to have
> come across such games?
>
> ++L
>
>
>
l***@proxima.alt.za
2012-11-22 18:00:45 UTC
Permalink
> PS2 development is generally too expensive for the cost model of education
> games, sadly.

Thanks, that helps. If anyone knows something that contradicts the
above, I'd be keen to hear it.

++L
Ethan Grammatikidis
2012-12-03 13:43:44 UTC
Permalink
On Thu, 22 Nov 2012 15:54:11 +0100
Hugo Rivera <***@gmail.com> wrote:

> > the fact that there are bigger problems in the world does not imply
> > that we ourselves are in a position to do anything about them. heck,
> > i see problems very close to home that i can't do much about. i can
> > try to make arguments, but very often there is no direct influence that
> > can be made. and being right is no comfort.
> >
>
> Of course, it depends on the problem considered. But I think the big
> problems in the world have little to do with programming languages,
> particularly c++, which is the topic at hand.
>

As far as I can see, a lot of the problems in the world are caused by
people preferring to believe in things which seem clever but which turn
out to be meaningless or actually wrong on deeper inspection. C++ seems
to be much the same way, which doesn't make it part of the problem but
does mean that if you teach it as a good and normal thing you are
encouraging bad reasoning practices similar to those which cause the
serious problems.

Of course, "teaching it as a good and normal thing" is a far cry from
responding to the OP's question, I don't mean to insult anyone who was
doing that.

On Thu, 22 Nov 2012 12:34:16 +0100
hiro <***@gmail.com> wrote:

> C++ and java feel highly inconsistent and are full of stupid busywork
> and strange programming philosophies that you have to "learn" about,
> but teach you nothing.

I quoted this because it's so similar to my own thoughts on the matter,
but also is it just me or does anyone else think "strange [...]
philosophies that you have to "learn" about, but teach you nothing,"
sounds just like it's referring to some religion?

--
Developing the austere intellectual discipline of keeping things
sufficiently simple is in this environment a formidable challenge,
both technically and educationally.
-- Dijstraka, EWD898, 1984
Charles Forsyth
2012-12-03 14:13:53 UTC
Permalink
>> C++ and java feel highly inconsistent and are full of stupid busywork
>> and strange programming philosophies that you have to "learn" about,

I've written programs in both languages and you don't really have to
worry about the philosophies,
if by that is meant things like the Pattern stuff, when using the
standard libraries or collections.
I found Christopher Alexander's book fascinating, but I didn't really
take to the Gang of Four's,
which left me cold. I thought it was an interesting attempt, but I
just didn't think it worked,
although that was clearly a minority opinion! I thought it made simple
things elaborate, and
complicated things harder to follow.
Kurt H Maier
2012-12-03 14:58:50 UTC
Permalink
On Mon, Dec 03, 2012 at 02:13:53PM +0000, Charles Forsyth wrote:
> >> C++ and java feel highly inconsistent and are full of stupid busywork
> >> and strange programming philosophies that you have to "learn" about,
>
> I've written programs in both languages and you don't really have to
> worry about the philosophies,
> if by that is meant things like the Pattern stuff, when using the
> standard libraries or collections.

This may be true, but this is not what is being taught at the university
level.
Charles Forsyth
2012-12-03 15:21:37 UTC
Permalink
I see. That might be tedious.

On 3 December 2012 14:58, Kurt H Maier <khm-***@intma.in> wrote:
> This may be true, but this is not what is being taught at the university
> level.
Kurt H Maier
2012-12-03 15:29:11 UTC
Permalink
On Mon, Dec 03, 2012 at 03:21:37PM +0000, Charles Forsyth wrote:
> I see. That might be tedious.
>

If you ask around, you'll find tons of stories from people who took
entry-level programming courses, taught in C++, who got in trouble for
submitting C-compliant or similar code. Many schools teach design
patterns and top-down object cruft as gospel, and actively punish
students who merely submit clean, efficient code.

It's a problem.
hiro
2012-12-04 21:36:56 UTC
Permalink
On Mon, Dec 3, 2012 at 4:29 PM, Kurt H Maier <khm-***@intma.in> wrote:
> If you ask around, you'll find tons of stories from people who took
> entry-level programming courses, taught in C++, who got in trouble for
> submitting C-compliant or similar code. Many schools teach design
> patterns and top-down object cruft as gospel, and actively punish
> students who merely submit clean, efficient code.

this is an other example of the kind of stuff I have to do to please
my professors:
http://www.youtube.com/watch?v=7RJmoCWx4cE
Dan Cross
2012-11-22 16:58:52 UTC
Permalink
On Nov 22, 2012 9:50 AM, "erik quanstrom" <***@quanstro.net> wrote:
>
> i agree with your point. but i think that you the statments you point
> out are hyperbole.

That is fair to an extent.

> > In the big scheme of things, absolutely none of this matters. Whether
one
> > programs in Java, C, Go, COBOL or 370 assembler doesn't really make any
> > difference; one could die tomorrow, and would anyone care what language
> > s/he programmed in? really? This world has bigger problems than that.
>
> this argument isn't a good one. this is a variation of the
> "finish your plate there are starving kids in africa" argument. the fact
> that there are starving kids in africa has no bearing on if the kid in
> the quote has had enough to eat.
>
> the fact that there are bigger problems in the world does not imply
> that we ourselves are in a position to do anything about them. heck,
> i see problems very close to home that i can't do much about. i can
> try to make arguments, but very often there is no direct influence that
> can be made. and being right is no comfort.

Well, my point was Not, "there are kids starving in X, so instead of
complaining about language Y, go there and dig a well..." but rather to try
and put these things in perspective. The point was really aimed at those
who seem emotionally consumed by trivial things like programming languages
and command shells: there are probably more important things in their own
lives that they could devote that same energy towards to better effect.

To put it another way, I consider emotional arguments about programming
languages so unimportant that they pale in comparison to encouraging my
daughter to eat a healthy breakfast; starving kids in other countries
didn't even enter my mind.

- Dan C.
erik quanstrom
2012-11-22 22:25:26 UTC
Permalink
> To put it another way, I consider emotional arguments about programming
> languages so unimportant that they pale in comparison to encouraging my
> daughter to eat a healthy breakfast; starving kids in other countries
> didn't even enter my mind.

emotional areguments are poor arguments, regardless of the subject.

i'm not sure though that i follow that x is "more important" than y
implies that i should not be bothered about potentially important
topics within y.

- erik
Dan Cross
2012-11-22 14:38:06 UTC
Permalink
Personally, I think that all of this language posturing is
"geekier-than-thou" nonsense.

Calling C++ or Java a disease? Really?
Suggesting that if you use one of those languages you're somehow mentally
deficient? Really?
Suggesting someone change jobs because they're asked to program in C++?
Really?

In the big scheme of things, absolutely none of this matters. Whether one
programs in Java, C, Go, COBOL or 370 assembler doesn't really make any
difference; one could die tomorrow, and would anyone care what language
s/he programmed in? really? This world has bigger problems than that.

Programming languages are tools; nothing more. Use whichever one fits the
problem at hand. If you're the kind of person who geeks out on and enjoys
playing around with new tools; the kind that appreciates the relative
aesthetic quality of one versus the other, more power to you: but
understand that trying to reformulate problems so that one can apply one's
whizz-bang new shiny SuperHammer when the thing that comes out of parents'
toolbox will do is just wasting time.

I came across this recently, and it really resonated:
http://www.lindsredding.com/2012/03/11/a-overdue-lesson-in-perspective/

- Dan C.
dexen deVries
2012-11-22 14:54:36 UTC
Permalink
On Thursday 22 of November 2012 09:38:06 Dan Cross wrote:
> In the big scheme of things, absolutely none of this matters. Whether one
> programs in Java, C, Go, COBOL or 370 assembler doesn't really make any
> difference; one could die tomorrow, and would anyone care what language
> s/he programmed in? really? This world has bigger problems than that.
>
> Programming languages are tools; nothing more. (...)

that assumes any programming language is (at best) a constant or linear factor
in problem solving time and complexity. some circles hold opinion that more
powerfull programming languages provide polynominal or exponential factor.

aside of that, in various publications number of bugs is found to correlate
with line counts or similar metrics, making a more concise language a net win.


--
dexen deVries

[[[↓][→]]]


Reality is just a convenient measure of complexity.
-- Alvy Ray Smith
Dan Cross
2012-11-22 17:04:18 UTC
Permalink
On Nov 22, 2012 9:56 AM, "dexen deVries" <***@gmail.com> wrote:
>
> On Thursday 22 of November 2012 09:38:06 Dan Cross wrote:
> > In the big scheme of things, absolutely none of this matters. Whether
one
> > programs in Java, C, Go, COBOL or 370 assembler doesn't really make any
> > difference; one could die tomorrow, and would anyone care what language
> > s/he programmed in? really? This world has bigger problems than that.
> >
> > Programming languages are tools; nothing more. (...)
>
> that assumes any programming language is (at best) a constant or linear
factor
> in problem solving time and complexity. some circles hold opinion that
more
> powerfull programming languages provide polynominal or exponential factor.

I'm not sure what that has to do with programming languages being tools: I
can drive a nail by banging on it with a screwdriver or my fist, but it's
much more convenient to use a hammer. Which tool I choose really depends
on the problem I'm trying to solve.

In other words, what it assumes is that different languages are better
suited to different tasks.

> aside of that, in various publications number of bugs is found to
correlate
> with line counts or similar metrics, making a more concise language a net
win.

Ha! Ever programmed in APL?

- Dan C.
hiro
2012-11-22 17:31:43 UTC
Permalink
dan, I don't care about your children.
l***@proxima.alt.za
2012-11-22 17:46:22 UTC
Permalink
> dan, I don't care about your children.

You may sing a different tune if/when Dan's daughter becomes the
President of the USA.

++L
Matthew Veety
2012-11-22 20:17:32 UTC
Permalink
Only if she give me free healthcare and hookers.

--
Veety
Dan Cross
2012-11-22 17:45:51 UTC
Permalink
Nor should you. What she eats is my problem not yours, and it's an
incredibly minor problem. Like, only a little more important than worrying
about C++ and Java.
On Nov 22, 2012 12:33 PM, "hiro" <***@gmail.com> wrote:

> dan, I don't care about your children.
>
>
hiro
2012-11-22 17:44:35 UTC
Permalink
stop trying to sell crap as educational green social computing or
whatever you like to call it.

a computer is a multiple purpose device, not an education.
l***@proxima.alt.za
2012-11-22 17:47:07 UTC
Permalink
> a computer is a multiple purpose device, not an education.

Prove it.

++L
Kurt H Maier
2012-11-22 19:55:16 UTC
Permalink
On Thu, Nov 22, 2012 at 07:47:07PM +0200, ***@proxima.alt.za wrote:
> > a computer is a multiple purpose device, not an education.
>
> Prove it.
>

Have you even contacted IAEP or one of the dozens of OLPC working groups
in your area?
l***@proxima.alt.za
2012-11-23 03:31:52 UTC
Permalink
> On Thu, Nov 22, 2012 at 07:47:07PM +0200, ***@proxima.alt.za wrote:
>> > a computer is a multiple purpose device, not an education.
>>
>> Prove it.
>>
>
> Have you even contacted IAEP or one of the dozens of OLPC working groups
> in your area?

Sounds more like an accusation than a response. What I choose to do
with a general-purpose tool (your argument) is to use it for
education. Show me how your argument invalidates my objectives.

As for your issue with suppliers of computing resources, there are
political dynamics in place around me that render the question moot.
Plus, I don't want to get involved in conventional teaching (C++,
Java, Windows, etc.) and that closes quite a few doors.

++L
Kurt H Maier
2012-11-23 03:56:54 UTC
Permalink
On Fri, Nov 23, 2012 at 05:31:52AM +0200, ***@proxima.alt.za wrote:
> > On Thu, Nov 22, 2012 at 07:47:07PM +0200, ***@proxima.alt.za wrote:
> >> > a computer is a multiple purpose device, not an education.
> >>
> >> Prove it.
> >>
> >
> > Have you even contacted IAEP or one of the dozens of OLPC working groups
> > in your area?
>
> Sounds more like an accusation than a response. What I choose to do
> with a general-purpose tool (your argument) is to use it for
> education. Show me how your argument invalidates my objectives.

There was a typo in my message. The word "even" should have read
"ever." I love your instant defensive whining, however, as well as your
misattribution of the other email. So far, you're the only proven
general-purpose tool here.

> As for your issue with suppliers of computing resources, there are
> political dynamics in place around me that render the question moot.
> Plus, I don't want to get involved in conventional teaching (C++,
> Java, Windows, etc.) and that closes quite a few doors.

This is frankly bizarre, since IAEP and OLPC aren't in the business of
peddling C++, Java, or Windows. I apologize for misinterpreting your
message as anything but another attempt to climb to some rhetorical
moral high ground; I thought you were interested in using computers to
further education in underserved areas. I withdraw my interest, and
apologize for attempting to point out relevant efforts in the areas you
claim to espouse. My bad. Carry on.
l***@proxima.alt.za
2012-11-22 17:42:37 UTC
Permalink
> Ha! Ever programmed in APL?

Don't knock it, to learn APL I had to "shift paradigm" and it was a
very important lesson in my programming education.

++L
Dan Cross
2012-11-22 17:50:10 UTC
Permalink
On Nov 22, 2012 12:43 PM, <***@proxima.alt.za> wrote:
> > Ha! Ever programmed in APL?
>
> Don't knock it, to learn APL I had to "shift paradigm" and it was a
> very important lesson in my programming education.

No doubt. As a learning exercise, such things are great. But I don't know
that the brand of brevity engendered by APL really leads to fewer defects.
:-)

- Dan C.
l***@proxima.alt.za
2012-11-22 17:59:39 UTC
Permalink
> No doubt. As a learning exercise, such things are great. But I don't know
> that the brand of brevity engendered by APL really leads to fewer defects.

No, although you don't have to look as far to find the errors :-)

++L
Charles Forsyth
2012-11-22 18:02:24 UTC
Permalink
I remembering finding Iverson's book "A Programming Language" quite interesting.
l***@proxima.alt.za
2012-11-22 18:12:00 UTC
Permalink
> I remembering finding Iverson's book "A Programming Language" quite interesting.

I don't remember the book any more, but I did read the library copy in
its entirety, maybe even more than once and was thrilled when the
university almost accidentally got an APL interpreter from Univac for
their 1106. It got me into real trouble with the cycle counters, it
was expensive to run and interactive time was even more expensive.

Today it is just a topic for nostalgic conversation, but it really
made a difference to me, it was as if a switch had been thrown in my
head.

++L
Richard Miller
2012-11-22 19:15:39 UTC
Permalink
>> I remembering finding Iverson's book "A Programming Language" quite interesting.
> ...
> Today it is just a topic for nostalgic conversation,

What Iverson did next:

http://9fans.net/archive/2009/07/265
Bakul Shah
2012-11-22 21:48:08 UTC
Permalink
On Nov 22, 2012, at 10:12 AM, ***@proxima.alt.za wrote:

>> I remembering finding Iverson's book "A Programming Language" quite interesting.
>
> I don't remember the book any more, but I did read the library copy in
> its entirety, maybe even more than once and was thrilled when the
> university almost accidentally got an APL interpreter from Univac for
> their 1106. It got me into real trouble with the cycle counters, it
> was expensive to run and interactive time was even more expensive.

At school I had a part time job with a cancer epidemiology group
(associated with the same school). I used up so much of their "funny
money" at the school computer center (all IBM computers with
expensive compute time) by using APL, I had to drop back to using
PL/I for them! The thing is, you make far fewer mistakes in APL but
they can cause a lot more damage! I wonder if the financial "quants"
made such mistakes in 2008 :-)

> Today it is just a topic for nostalgic conversation, but it really
> made a difference to me, it was as if a switch had been thrown in my
> head.

Iverson's papers are still very useful when programming in APL2 or
languages like k, j or q.
Bakul Shah
2012-11-22 21:34:00 UTC
Permalink
On Nov 22, 2012, at 10:02 AM, Charles Forsyth wrote:

> I remembering finding Iverson's book "A Programming Language" quite interesting.


I highly recommended Iverson's Turing Award lecture "Notation as a tool of thought".

http://www.jsoftware.com/papers/tot.htm
http://awards.acm.org/images/awards/140/articles/9147499.pdf
Christopher Nielsen
2012-11-22 16:15:02 UTC
Permalink
Exactly this, Dan. Thanks.

On Thu, Nov 22, 2012 at 6:38 AM, Dan Cross <***@gmail.com> wrote:
> Personally, I think that all of this language posturing is
> "geekier-than-thou" nonsense.
>
> Calling C++ or Java a disease? Really?
> Suggesting that if you use one of those languages you're somehow mentally
> deficient? Really?
> Suggesting someone change jobs because they're asked to program in C++?
> Really?
>
> In the big scheme of things, absolutely none of this matters. Whether one
> programs in Java, C, Go, COBOL or 370 assembler doesn't really make any
> difference; one could die tomorrow, and would anyone care what language s/he
> programmed in? really? This world has bigger problems than that.
>
> Programming languages are tools; nothing more. Use whichever one fits the
> problem at hand. If you're the kind of person who geeks out on and enjoys
> playing around with new tools; the kind that appreciates the relative
> aesthetic quality of one versus the other, more power to you: but understand
> that trying to reformulate problems so that one can apply one's whizz-bang
> new shiny SuperHammer when the thing that comes out of parents' toolbox will
> do is just wasting time.
>
> I came across this recently, and it really resonated:
> http://www.lindsredding.com/2012/03/11/a-overdue-lesson-in-perspective/
>
> - Dan C.
>
>



--
Christopher Nielsen
"They who can give up essential liberty for temporary safety, deserve
neither liberty nor safety." --Benjamin Franklin
"The tree of liberty must be refreshed from time to time with the
blood of patriots & tyrants." --Thomas Jefferson
Kurt H Maier
2012-11-22 17:10:04 UTC
Permalink
On Thu, Nov 22, 2012 at 09:38:06AM -0500, Dan Cross wrote:
> Personally, I think that all of this language posturing is
> "geekier-than-thou" nonsense.

And the rest of this email is "wiser-than-thou" bullshit. Programming
languages ARE tools. If you enjoy using shitty tools to earn your
living, when superior tools are available, you ARE mentally deficient.
If someone came to me and asked me to rebuild an engine with a hammer
and a screwdriver, I would change jobs. With sufficient effort, I'm
sure it's possible, but my work would not be enjoyable.

It's not all about blogging, Dan.
Charles Forsyth
2012-11-22 17:18:03 UTC
Permalink
Yes, that would be silly. You need only the screwdriver, provided it's sonic,
but I suppose that just emphasises your point about tools.

On 22 November 2012 17:10, Kurt H Maier <khm-***@intma.in> wrote:
> If someone came to me and asked me to rebuild an engine with a hammer
> and a screwdriver,
t***@polynum.com
2012-11-22 17:22:33 UTC
Permalink
On Thu, Nov 22, 2012 at 05:18:03PM +0000, Charles Forsyth wrote:
> Yes, that would be silly. You need only the screwdriver, provided it's sonic,
> but I suppose that just emphasises your point about tools.
>

You did not get the big picture: the screwdriver is for the engine; the
hammer is to deal with people coming arguing about why you use a
screwdriver...

> On 22 November 2012 17:10, Kurt H Maier <khm-***@intma.in> wrote:
> > If someone came to me and asked me to rebuild an engine with a hammer
> > and a screwdriver,

--
Thierry Laronde <tlaronde +AT+ polynum +dot+ com>
http://www.kergis.com/
Key fingerprint = 0FF7 E906 FBAF FE95 FD89 250D 52B1 AE95 6006 F40C
Bakul Shah
2012-11-22 17:27:05 UTC
Permalink
On Thu, 22 Nov 2012 18:22:33 +0100 ***@polynum.com wrote:
> On Thu, Nov 22, 2012 at 05:18:03PM +0000, Charles Forsyth wrote:
> > Yes, that would be silly. You need only the screwdriver, provided it's soni
> c,
> > but I suppose that just emphasises your point about tools.
> >
>
> You did not get the big picture: the screwdriver is for the engine; the
> hammer is to deal with people coming arguing about why you use a
> screwdriver...

A big enough screwdriver can be used to deal with people.
You guys are so spoiled!
Dan Cross
2012-11-22 17:45:51 UTC
Permalink
Thanks for making my point for me.
On Nov 22, 2012 12:13 PM, "Kurt H Maier" <khm-***@intma.in> wrote:

> On Thu, Nov 22, 2012 at 09:38:06AM -0500, Dan Cross wrote:
> > Personally, I think that all of this language posturing is
> > "geekier-than-thou" nonsense.
>
> And the rest of this email is "wiser-than-thou" bullshit. Programming
> languages ARE tools. If you enjoy using shitty tools to earn your
> living, when superior tools are available, you ARE mentally deficient.
> If someone came to me and asked me to rebuild an engine with a hammer
> and a screwdriver, I would change jobs. With sufficient effort, I'm
> sure it's possible, but my work would not be enjoyable.
>
> It's not all about blogging, Dan.
>
>
Kurt H Maier
2012-11-22 19:55:40 UTC
Permalink
On Thu, Nov 22, 2012 at 12:45:51PM -0500, Dan Cross wrote:
> Thanks for making my point for me.


Someone had to. It sure wasn't you.
Balwinder S Dheeman
2012-11-23 09:42:22 UTC
Permalink
On 11/22/2012 10:52 PM, ***@polynum.com wrote:
> On Thu, Nov 22, 2012 at 05:18:03PM +0000, Charles Forsyth wrote:
>> Yes, that would be silly. You need only the screwdriver, provided it's sonic,
>> but I suppose that just emphasises your point about tools.
>>
>
> You did not get the big picture: the screwdriver is for the engine; the
> hammer is to deal with people coming arguing about why you use a
> screwdriver...

LOL! ROTF!

>> On 22 November 2012 17:10, Kurt H Maier <khm-***@intma.in> wrote:
>>> If someone came to me and asked me to rebuild an engine with a hammer
>>> and a screwdriver.

--
Balwinder S "bdheeman" Dheeman
(http://werc.homelinux.net/contact/)
l***@proxima.alt.za
2012-11-22 17:58:17 UTC
Permalink
> In the big scheme of things, absolutely none of this matters. Whether one
> programs in Java, C, Go, COBOL or 370 assembler doesn't really make any
> difference; one could die tomorrow, and would anyone care what language
> s/he programmed in? really? This world has bigger problems than that.

My experience with APL suggested otherwise. Assembler programming
teaches you what computers can and cannot do and a language like APL
teaches you what concepts your mind is able to embrace. COBOL shows
you the value of code discipline and fortran the benefits of
shortcutting functionality you don't really need in a certain sphere
of programming. No one language gives you everything and many
programmers only get to see and solve a fraction of the possible
problem space.

I think it is important for programmers to at least know that their
knowledge base is incomplete and, hopefully, come closer to rather
than further away from a broader knowledge by attempting to use more
rather than fewer tools. That some tools may lead to bad habits, that
could be termed a judgement call, or an occupational hazard.

++L
Richard Miller
2012-11-22 16:32:42 UTC
Permalink
> 9th grade is usually 1st year "high school" in the us.

Deutschland USA
- -
Hochschule college
Gymnasium high school
Sporthalle gymnasium
hiro
2012-11-22 17:39:43 UTC
Permalink
On Thu, Nov 22, 2012 at 5:32 PM, Richard Miller <***@hamnavoe.com> wrote:
>> 9th grade is usually 1st year "high school" in the us.
>
> Deutschland USA
> - -
> Hochschule college
> Gymnasium high school
> Sporthalle gymnasium
>
>

It's much more complex than that, so I didn't even attempt to explain.
We can talk about this in Greek though if you like...
Matthew Veety
2012-11-22 20:14:58 UTC
Permalink
On Thu, 22 Nov 2012, Richard Miller wrote:

>> 9th grade is usually 1st year "high school" in the us.
>
> Deutschland USA
> - -
> Hochschule college
> Gymnasium high school
> Sporthalle gymnasium
>
>
>

I thought that Uni was equal to college here in the states.

--
Veety
l***@proxima.alt.za
2012-11-22 15:50:31 UTC
Permalink
> C++ and java feel highly inconsistent and are full of stupid busywork
> and strange programming philosophies that you have to "learn" about,

Chances are Go would not be what it is, if it was anything at all,
without the mistakes of C++ and Java (the latter are a mystery to me I
am not even remotely interested in unravelling - but I'm lucky that
way).

For what that's worth. I enjoy the facility with which bugs are
identified and often even avoided in Go, I'm not as keen on the
"Program development by progressive approximation" development
technique I seem to have fallen into :-)

++L
Bakul Shah
2012-11-22 14:54:54 UTC
Permalink
On Nov 22, 2012, at 9:54 AM, Balwinder S Dheeman <***@anu.homelinux.net> wrote:
>
>>
> Me, OTOH, would like see Go go out of fashion ASAP; What's so special a C/C++ programmer can't do what she/he can do with Go?

Is this opinion born out of experience with Go or due to a lack of experience? They are all Turing complete but if that was the only important criterion most prog. languages wouldn't exist.
t***@polynum.com
2012-11-20 20:07:27 UTC
Permalink
On Tue, Nov 20, 2012 at 02:58:28PM -0500, Wes Kussmaul wrote:
>
> Irony (from the Ancient Greek ???????? eir?neía, meaning dissimulation
> or feigned ignorance)[1] is a rhetorical device, literary technique, or
> situation in which there is an incongruity between the literal and the
> implied meaning.

Do you mean that C++ is irony because of the discrepancy between what
you wrote and what you get?

--
Thierry Laronde <tlaronde +AT+ polynum +dot+ com>
http://www.kergis.com/
Key fingerprint = 0FF7 E906 FBAF FE95 FD89 250D 52B1 AE95 6006 F40C
Wes Kussmaul
2012-11-20 20:17:51 UTC
Permalink
On Tue, 2012-11-20 at 21:07 +0100, ***@polynum.com wrote:

> Do you mean that C++ is irony because of the discrepancy between what
> you wrote and what you get?

Yeah, that and the fact that the comment was made by someone (me) who
has not a clue about C++
Pedro Lamarão
2012-11-22 12:58:42 UTC
Permalink
Em 20/11/2012 18:07, ***@polynum.com escreveu:
> On Tue, Nov 20, 2012 at 02:58:28PM -0500, Wes Kussmaul wrote:
>>
>> Irony (from the Ancient Greek ???????? eir?neía, meaning dissimulation
>> or feigned ignorance)[1] is a rhetorical device, literary technique, or
>> situation in which there is an incongruity between the literal and the
>> implied meaning.
>
> Do you mean that C++ is irony because of the discrepancy between what
> you wrote and what you get?

From the compiler's point of view, you get exactly what you wrote about.

--
P.
Wes Kussmaul
2012-11-20 19:58:28 UTC
Permalink
On Mon, 2012-11-19 at 21:08 -0500, Matthew Veety wrote:
> How do you studiously not do something? Doesn't the imply working
> hard at something?

Irony (from the Ancient Greek εἰρωνεία eirōneía, meaning dissimulation
or feigned ignorance)[1] is a rhetorical device, literary technique, or
situation in which there is an incongruity between the literal and the
implied meaning. No written method for indicating irony exists, though
an irony punctuation mark has been proposed. In the 1580s, Henry Denham
introduced a rhetorical question mark or percontation point which looks
like a reversed question mark. This mark was also proposed by the French
poet Marcel Bernhardt at the end of the 19th century to indicate irony
or sarcasm.

Ironic statements (verbal irony)[2] are statements that imply a meaning
in opposition to their literal meaning. A situation is often considered
to be ironic (situational irony) if there is an "incongruity between the
actual result of a sequence of events and the normal or expected
result."[3] The discordance of verbal irony may be deliberately created
as a means of communication (as in art or rhetoric). Descriptions or
depictions of situational irony, whether in fiction or in non-fiction,
serves the communicative function of sharpening or highlighting certain
discordant features of reality. Verbal and situational irony are often
used for emphasis in the assertion of a truth. The ironic form of
simile, used in sarcasm, and some forms of litotes emphasize one's
meaning by the deliberate use of language which states the opposite of
the truth — or drastically and obviously understates a factual
connection.
Bakul Shah
2012-11-20 19:05:37 UTC
Permalink
On Nov 19, 2012, at 2:48 PM, steve wrote:

> so far i have written a couple of hundred lines of c++, but for me the problem
> i see is how to develop a sense of c++ style. I want to write good code, but I
> don't even know what good c++ code looks like!

Look at something like OpenSceneGraph. Looks to be pretty
decent code. Look at Russ's RE2 code. Look at code for varius
data structures (but *not* the boost library or templates).

But I think the only way to develop good intuition is to write
code. Lots of it!

IMHO, for a competent C programmer it is not hard to pick up
C++ and continue using a spare style. Basically use C++
features only as needed. Data structures map fairly naturally
to objects (and hence classes) -- but just build in what you
need. Rather than write your own implementation of linked
list, doubly linked list, priority queue etc. it may make
sense to use relevant templates. If you have more than one
related class, it may make sense to factor out the common
interface in a separate base class. If it is an interface,
functions will either be virtual or depend on virtual
functions. Deep hierarchies are another thing needing very
strong justification -- they are worse than a chain of #define
macros.

It is probably a good idea to get in the habit of writing test
classes right at the outset. Often you can write the test
class exercising the interface of a class even before you
implement this interface! This forces you to look at the API
from a user perspective early on and you are less afraid to
experiment as you can quickly test. If your program gets used
a lot, over time you will end up wanting to replace classes
for better performance or changes in usage.

I used the "gang of four" book (desing patterns) in mid 90s
and experimented with it but I haven't even opened the book in
last decade. There are lots of useful patterns in there but as
always one must justify use of every new pattern. Some
patterns are powerful but make the code very hard to read.
A few months ago I rewrote one such program on a challenge. It
was so hard to follow I ended up just looking at its input and
output and reimplementing from scratch.

And profile your code! One should avoid optimizations that
makes the code uglier but keeping an eye on performance helps
find stupid bugs and hotspots early on when things are not so
complicated.

So that is a long way of saying just dive in and trust your
judegment!

>
> i will press on with it, and read the pointers that have been suggested.
>
> thanks again.
>
> -Steve
>
> ps i am studiously not reading anything about go in case it distracts me... :-)

Go too considered harmful?
Skip Tavakkolian
2012-11-20 20:31:14 UTC
Permalink
just to add to what others have said, it's easier to write code using
C++ features that are applicable to the task at hand, than it is to
read and understand a random piece of C++ code. keep in mind that
writing code will eventually lead to using STL and other libraries; so
you'll be forced to read complex code and decipher what the compiler
thinks it says.

but, allow me to get on the soapbox :)

starting a new system in C++ today would need justification. if you
need language features that C doesn't have, then the next logical step
is Go (or Python) because it take a lot less time to master it than to
master C++. Proof of Go's expressiveness and ease of use is the huge
number of packages that have been developed in it -- only three years
after its first release. another bonus, it is available on Plan 9.

-Skip

On Tue, Nov 20, 2012 at 11:05 AM, Bakul Shah <***@bitblocks.com> wrote:
> On Nov 19, 2012, at 2:48 PM, steve wrote:
>
>> so far i have written a couple of hundred lines of c++, but for me the problem
>> i see is how to develop a sense of c++ style. I want to write good code, but I
>> don't even know what good c++ code looks like!
>
> Look at something like OpenSceneGraph. Looks to be pretty
> decent code. Look at Russ's RE2 code. Look at code for varius
> data structures (but *not* the boost library or templates).
>
> But I think the only way to develop good intuition is to write
> code. Lots of it!
>
> IMHO, for a competent C programmer it is not hard to pick up
> C++ and continue using a spare style. Basically use C++
> features only as needed. Data structures map fairly naturally
> to objects (and hence classes) -- but just build in what you
> need. Rather than write your own implementation of linked
> list, doubly linked list, priority queue etc. it may make
> sense to use relevant templates. If you have more than one
> related class, it may make sense to factor out the common
> interface in a separate base class. If it is an interface,
> functions will either be virtual or depend on virtual
> functions. Deep hierarchies are another thing needing very
> strong justification -- they are worse than a chain of #define
> macros.
>
> It is probably a good idea to get in the habit of writing test
> classes right at the outset. Often you can write the test
> class exercising the interface of a class even before you
> implement this interface! This forces you to look at the API
> from a user perspective early on and you are less afraid to
> experiment as you can quickly test. If your program gets used
> a lot, over time you will end up wanting to replace classes
> for better performance or changes in usage.
>
> I used the "gang of four" book (desing patterns) in mid 90s
> and experimented with it but I haven't even opened the book in
> last decade. There are lots of useful patterns in there but as
> always one must justify use of every new pattern. Some
> patterns are powerful but make the code very hard to read.
> A few months ago I rewrote one such program on a challenge. It
> was so hard to follow I ended up just looking at its input and
> output and reimplementing from scratch.
>
> And profile your code! One should avoid optimizations that
> makes the code uglier but keeping an eye on performance helps
> find stupid bugs and hotspots early on when things are not so
> complicated.
>
> So that is a long way of saying just dive in and trust your
> judegment!
>
>>
>> i will press on with it, and read the pointers that have been suggested.
>>
>> thanks again.
>>
>> -Steve
>>
>> ps i am studiously not reading anything about go in case it distracts me... :-)
>
> Go too considered harmful?
>
>
dexen deVries
2012-11-20 20:09:54 UTC
Permalink
On Monday 19 of November 2012 22:48:09 steve wrote:
> (...)
> i have been on a 3 day course and have been reading the c++ primer,
> and have effective c++ also, so i seem well equipped. the environment
> i am to use is Qt based as it has to be cross platform, though we hope to
> try to keep the core vanilla STL based.
> (...)

frommy brief enounters with Qt: do use signal/slot mechanics. concise and seem
to work well in both small and large (KDE-sized) projects.

semi-related: qmake is one of few sane build tools in linuxland. based on
simple text files, `mkspecs'.


--
dexen deVries

[[[↓][→]]]


Reality is just a convenient measure of complexity.
-- Alvy Ray Smith
Loading...