Thread: Dinosaurs?
thedarkness

What's with the dinosaur crap? C/C++ and C# ain't dinosaurs!

If I had only one choice of

programming

  language it would be C++ so stick that in your preprocessor and compile it. You freakin' heretics wouldn't know a good language if it bit you on the ass!

Let the language crusades begin,
td

perkiset

Awesome - pick up the flag and charge bro.

I've done C and C++,  never C#. My first C++ was Borland 3 in about '91 - it was awesome. I still love the language. In fact I still pretty much think in a C++ way

I'm also an expert in Delphi and Kylix (quite expert actually) and wish that they had not become irrelevent. The object hierarichy, the incredibly strict structure of the language... the readability of the code... the IDE - oh MAN do I miss that IDE - it was great. I still have about 180K lines running my largest few retail clients on code that is 6 years old (Kylix) ... with some classes dating back to the mid 90s in Delphi.

So I say Dinosaurs with about as much love as can be said, but they are, in many ways, moving the way of the Dodo. Perhaps not C#, but since even with VB you're talking to the same RTL as with C#, what's the point of going that deep? Most youngsters today would have a heartattack if they actually had to understand *(*a)++ lol ... so hey - bust our chops and tell us why they're not dead... I'm looking forward to it.

/p

thedarkness

Why is C not dead?

Let me ask you this. What is the operating system you're currently using predominantly written in? What is the operating system this forum is hosted on predominantly written in. Of the binaries present on

Linux

 , Windows, and

Mac

 OS which language is most represented? When I'm

programming

  in

.NET

  I use managed C++ usually over C# because C# is just interacting with components and objects that are predominantly written in C++ anyway.

Anyway, this debate rages all over the

net

  on a daily basis and I'm not going to get sucked into a long argument (this forum must be good because I told you I didn't have time to post but here I am ;-) ) and at the end of the day I don't think any of REALY cares anyway. We use our weapon of choice until it becomes more efficient/smarter to use a different weapon of choice OR we accept that we are making a trade-off in terms of expediency to use the language we prefer.

Anyway, I'm not a C++ zealot, just don't think it deserves the mantle of dinosuar just yet. It's a highly resilient language and has thus far resisted several challenges and attempts to relegate it to the

programming

  dustbin. only time will tell.

Cheers,
td

perkiset

Awright, not bad.

Board changed to "heavies." Good points.

/p

nop_90

Only reason C is still arround is because it was used to program unix Applause
Has little to do with it is a good language, in most

asp

 ects it down right sucks Applause

GCC came arround and as a result virtually every OS has a C compiler.
You could almost think of C as platform independant assembler.
Common tactic nowdays is compile to C and them compile the C to an exe or dll.
So very useful to know C.

C# and

.net

  are a joke.
Lets see. I think i will invent a language.
I think I will call in N@ but you pronounce it "knat"
then i will spend tons of money to brainwash stupid clueless managers why they should adopt this language.
Programs run in N@ are the best, they only run for 600 seconds continously, that way the CPU will get a break.
Ohhh and yah to run N@ programs you will need to download the 20Gig Virtual

Mac

 hine.
N@ programs do not run slow. Programs wirtten in other languages often run too fast confusing the user, N@ fixes this problem.

Let see only runs on windows.
Libraries are crap, like darkness said a wrapper arround the C++ ones except with another layer to slow it down.
Not crossplatform.
The M$ C++ libs in the first place are crap. Poorly planned out, filled with useless poorly planned functions.
I could go on for hours.

Speaking of C compare the GTK libs with the M$ graphic libs.
GTK is 100% C. and it is OO with inheritance Applause

thedarkness

I agree with a lot of what you said nop, just not about c sucking lol....

I know you want to convert the world to lisp (for some reason this reminds me of Donald Sutherland in backdraft when Robert Deniro asks him what he would like to do with the world and Don replies "Burn it, burn it all", LOL scary)

I'm still busily exploring the C++ language (among others) and whilst I'm happy with what I find we'll just have to agree to disagree buddy.

Cheers,
td

nop_90

C is a baby Applause from wikipedia
<>C is a general-purpose, procedural, imperative computer

programming

  language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system.[1]

<>Lisp is a family of computer

programming

  languages with a long history and a distinctive fully-parenthesized syntax. Originally specified in 1958, Lisp is the second-oldest high-level

programming

  language in widespread use today; only Fortran is older. Like Fortran, Lisp has changed a great deal since its early days, and a number of dialects have existed over its history. Today, the most widely-known general-purpose Lisp dialects are Common Lisp and Scheme.

Lisp is even older then bomps Applause

perkiset

I think everyone should get a solid backing in C++ at least because it will

teach

  them how to think differently.

I'd speculate you'd same the same about Scheme nop.

Too many people simply do what Microsoft tells them to do and how to do it. No understanding of the superstructure or underpinnings. That's the difference between scriptkiddies and real coders.

Virtually all the procedural implementations of OO languages can trace their roots to Bjarne Stroustrup's book on C++. It is the grandfather of object oriented languages. It should be required reading and schooling.

nop_90

quote author=perkiset link=topic=43.msg211#msg211 date=1177183055

I think everyone should get a solid backing in C++ at least because it will

teach

  them how to think differently.

I'd speculate you'd same the same about Scheme nop.

No I would not say the same about Scheme Applause.

I joke arround with darkness because i suspect he is alot younger then me.
Ironically a lot of what darkness saids i was saying 10 years ago.
Different tools have different purpose.
C is like a road racer, a car that is stripped down and goes like snot.

The lisp family is like inspector gadgets car Applause. But it has like a tool on it that it can fix itself Applause.
Chicken Scheme, Gambit Scheme generate C code.
As a result you can access C structures directly from scheme without making a binding.
(this sort of thing very common ammong lisps).

Anyway point is every language has a purpose.
Little tiny lua at 150k designed to be imbedded into a C proggie.

Even people who know C fail to understand pointers pro

perl

 y.
Pointers are dangerous, No they are not only if u are a moron.
Paper is dangerous. If you are an idot you can drown in a glass or water.

Every computer school should start with an introductory course in assembler.
Not on the x86 family, it is too complex etc.
But on a nice little micro controller like the 6811.
That way student

learn

 s about registers,how memory is accessed,the stack, etc.

You can sell how stuff is pushed on the stack before a function is called.
If you call too many functions in asm or C or a regular language you can run out of stack Applause.
But scheme and lisp because the compiler does magic this never happens Applause

It is important it is done on a small micro controller. That way u understand things like
memory leak. And you can see effects rapidly Applause.

Again not done because of politics, 1/2 the students would flunk out first semester Applause.

Objects and all the other crap are just window dressing Applause.

Applause



thedarkness

I'm prolly older than you think nop (born 66). I have no formal academic qualifications, I'm self tought, so maybe that accounts for some of the lag, also, I didn't realise I had an aptitude for this sort of stuff until i was in my early 20s.

I agree with a lot of what you say (even when I disagree ;-) ) There's no doubting your knowledge or abilities. I think you and perk have both touched on a major problem with

programming

  and programmers these days. If you know HOW to do things but not WHY you are doing them you are destined to make mistakes. You're also likely to meet brick walls more often and try to manufacture "work arounds" rather than being able to identify the "exact" nature of the problem and respond accordingly.

I see it all the time where people apply a band-aid solution that works but illustrates their lack of understanding of the initial problem.

My 2c,
td

e_d

I am not fond of the C# bashing going on here. C# is fantastic, and is not just a microsoft baby, as mono (a c# compiler) exists for freebsd. The problem most have with c# is it's more like

php

 , instead of using a very basic set of conditional/objects you have all these "superman" objects like WebRequest (which pwns curl btw) and a ton of other "one off" type things. Most microsoft languages are just memorization languages where it really doesnt make any sense unless you already know how to do it. But in c# if you use it pro

perl

 y it works very well. It's just a bunch of memorizational crap though with random functions like "split_this_file_by_goatasses".. Sure you could use a

regex

 , a loop, and a file handler. But why waste my time if someone else already did it and I can memorize the name of that function? It's like solving a rubiks cube, there are three ways, memorization and intuition or a combination of both. The guys who solve them intuitively are very intelligent usually and have no problem adding additional parameters to a cube (more cubes, a typical cube is 3x3x3, when i say more parameters i mean 5x5x5) because they know "HOW" and "WHY" it works. But a person using memorization will always win against just intuition for speed. Most winners at speed cubing challenges are the people who combine both techniques, using an algorithm when intuition takes too long, and using intuition when no algorithm comes to mind quickly. So for C# I use a little of both... Just don't knock my c# hippys

thedarkness

Hey e_d,

I wasn't knocking C# realy, just saying that I use managed C++ in preference to it. The calls are basically identical "->" instead of "." and the managed pointer "^" and a couple of other language syntactic differences. It is generally a simple matter to port from one to the other and because of this I've never realy bothered to delve deeply into C#. If I see some C# code I want to use I just convert it to managed C++ and I'm away. For my money the languages are too close and too interoperable to bother switching.

My 2c,
td

P.S. Nop started it

nutballs

quote author=e_d link=topic=43.msg366#msg366 date=1177357814

The problem most have with c# is it's more like

php

 , instead of using a very basic set of conditional/objects you have all these "superman" objects like WebRequest (which pwns curl btw) and a ton of other "one off" type things. Most microsoft languages are just memorization languages where it really doesnt make any sense unless you already know how to do it.


that actually is exactly the reason i cant bring myself to c# or

php

  or anyother "superman" object language. I enjoy the "flexibility" i have with a language like

ASP

  that has only like 10 objects built in. the rest is written by me. Though obviously i could write some things in far less code using something else, i just cant ever remember the .hell chain to get to the func/prop/method that i need. the webrequest object is a perfect example that scares the shit outta me. lol

perkiset

Actually

PHP

  is not as much of a superobject language as you might think - there is a pretty good size function library but the vast majority of the tricky and interesting stuff is not included by default. The essential language is really pretty basic. All the discussions of snoopy, cURL and such... that is all by user choice. In that way,

PHP

  has become much like

PERL

  in that you can choose packages into the language - or have a very stripped down version.

The WebRequest class I posted here for example...

http://www.perkiset.org/forum/

php

 /perks_webrequest_class-t66.0.html

...I speculate would be very understandable to you because it's built on fundamental functions and nothing else. I'm with you about languages with just to friggin many objects all alive - there's just too much to remember.

thedarkness

this is where VS's object browser comes in handy. Also, if there is well structured documentation that helps a lot too. I agree with what Perk says but that isn't going to stop me using

PEAR

 , PECL, etc. just too damned easy and reusable once you get the hang of it...

My 2c,
td

Dbyt3r

Correct me if Im wrong but isnt managed C++ the same as managed C# performance wise?  Applause

thedarkness

No idea.

JasonD

All languages are shit, there are just degrees of shittiness.

Until there is a language that allows me to think of what I want done and an executable turns up with that idea, ready to distribute to anyone and everyone, no matter what their OS, gender, race, colour, creed or IQ then all languages will remain shit too Applause

perkiset

As I understand it, Cyberdyne Systems was working on something like that... and although they completely failed in the "real intelligence"

asp

 ect of their experiment, they did manage to produce something that mimics intelligence well enough to have become the Governator of California.

nop_90

quote author=JasonD link=topic=43.msg2852#msg2852 date=1187128893

All languages are shit, there are just degrees of shittiness.


Pretty much sums it up Applause


Perkiset's Place Home   Politics @ Perkiset's