|
I guess Perl should have been in that list. It would certainly be top of my most disliked.
Kevin
|
|
|
|
|
Nemanja Trifunovic wrote: C# is pretty much Visual Basic with some curly braces and semicolons randomly sprinkled around
Sacrilege! Though, yeah, the difference between C# and VB is not actually the language, but the programmer!
Marc
|
|
|
|
|
Provides all of the object-orientation needed for large projects, and may be pared down (almost) to C for kernel-level programming.
If you have an important point to make, don't try to be subtle or clever. Use a pile driver. Hit the point once. Then come back and hit it again. Then hit it a third time - a tremendous whack.
--Winston Churchill
|
|
|
|
|
Amazing, all other language come from C, so C/C++ you can do anything you want. even C# comes from C/C++. I've been using C since the early eighties, do not get me wrong I like C# and other languages and they have there place. But if I'm working on the low dirty stuff like drivers I always use "C". I hope most people agree with me, that once you learn a language the other one come easy. The problem is most people don't really learn one language so they have trouble with other languages. I wish that schools would stick to one language so the student would learn programing and not "Copy" and "Paste" technique.
|
|
|
|
|
dennislx wrote: all other language come from C
Many languages preceded C, among them Fortran, COBOL, Lisp, Algol (-60 and -68), BASIC, Pascal, and probably others.
I agree with you regarding the teaching of programming. It is better to learn one language well than to learn half a dozen poorly.
If you have an important point to make, don't try to be subtle or clever. Use a pile driver. Hit the point once. Then come back and hit it again. Then hit it a third time - a tremendous whack.
--Winston Churchill
|
|
|
|
|
Swiss army knife styled C programming. The problem is, you may get yourself hurt with it if you don't know what you are doing.
The sh*t I complain about
It's like there ain't a cloud in the sky and it's raining out - Eminem
~! Firewall !~
|
|
|
|
|
|
I like Shawarma[^].
The sh*t I complain about
It's like there ain't a cloud in the sky and it's raining out - Eminem
~! Firewall !~
|
|
|
|
|
I shawarma! Had some yesterday with a large (simple) salad, a few boiled new potatoes and an ice cold brew. Hit the spot!
/ravi
|
|
|
|
|
I'd doubt the taste of someone who doesn't enjoy these items. Even Avengers agree[^].
The sh*t I complain about
It's like there ain't a cloud in the sky and it's raining out - Eminem
~! Firewall !~
|
|
|
|
|
Native C is dangerous too. Bad pointers have left me up all night in the past. I'm going to stick with C# until I retire.
ken9322
|
|
|
|
|
1 - Simple. (After learning the overwhelming topic of pointers it becomes a breeze).
2 - easy to use.
3 - Small std lib.
4 - Can be portable.
5 - Work on both HW and SW. Get to understand computers in more depth.
6 - Can be object oriented.
7 - Can be any thing really.
"Program testing can be used to show the presence of bugs, but never to show their absence."
<< please vote!! >></div>
|
|
|
|
|
C is easy to learn and use, it takes a bit more time to learn how to use it properly; once you learn about recursion you will really understand C and C++ and you will become a Programmer.
"C" is small, the classic "The C Programming Language" of Kernighan & Ritchie should be compulsory reading for every one who wants to "do programming".
Std lib is nothing to do with "C" it is a library that is included with most C compilers.
Most of the other languages are derived from C; C++ was originally implemented using the C preprocessor.
C# is like Basic (remember that from school?) - it is in the name - Beginners.
|
|
|
|
|
John Pearce wrote:
"C" is small, the classic "The C Programming Language" of Kernighan & Ritchie should be compulsory reading for every one who wants to "do programming". The suggested books for learning C programming in Computer Engineering in my university were all bricks of 500+ pages... and IMHO they failed miserably in teaching anything. Then I discovered K&R, almost doubted about it since it was SO slim that even my old MS-DOS manual shipped with my very first PC was bigger.
K&R simply gets to the point straight, fast and with the force of a freight train. It hides nothing, it doesn't derail. I love that book and keep it religiously clean and maintained in my library.
GCS d--- s-/++ a- C++++ U+++ P- L- E-- W++ N++ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t++ 5? X R++ tv-- b+ DI+++ D++ G e++>+++ h--- ++>+++ y+++* Weapons extension: ma- k++ F+2 X
If you think 'goto' is evil, try writing an Assembly program without JMP. -- TNCaver
When I was six, there were no ones and zeroes - only zeroes. And not all of them worked. -- Ravi Bhavnani
|
|
|
|
|
Will they please cancel their accounts and learn a language that actually works?
Just kidding, in fact, stick on CP and you might actually learn some good languages
Now in all seriousness, why the hell would you vote JavaScript!?
Actually, why would you vote anything else than C#
I really like C#, elegant, concise, does just about everything.
But I'm not married to it or anything.
And ok, I admit JavaScript has some cool stuff too (but it's still the worst language I know and that's the true, the whole 'non empty string', and nothing but the {}).
|
|
|
|
|
Javascript has become a real programming language. I read that even Ramsonware like Locky can be implemented.
Press F1 for help or google it.
Greetings from Germany
|
|
|
|
|
Yeah, it's everywhere. Front-end, back-end, embedded, desktop...
That still doesn't make it a good language though
This sums it up pretty nice[^]
|
|
|
|
|
Yep! If "it's everywhere" were the test of goodness, Cobol would be the perfect language followed by that cancer of anti-developer sentiment (no operator overloading! u 2 dumb) we call Java.
|
|
|
|
|
I didn't understand your message until I remember the question mentioning a "religious brawl". It all made sense then. You're taking it religiously.
|
|
|
|
|
Yeah, and I've been religiously blogging about both C# and JavaScript as well (more JavaScript actually!)
It's nothing religious for me, I just don't like JavaScript (all that much).
And I can give you quite a few reasons too.
|
|
|
|
|
JavaScript is no C-style language. It just disguises itself as one, like a cheap imitation from China. let's strike it from the list!
The language is JavaScript. that of Mordor, which I will not utter here
This is Javascript. If you put big wheels and a racing stripe on a golf cart, it's still a f***ing golf cart.
"I don't know, extraterrestrial?"
"You mean like from space?"
"No, from Canada."
If software development were a circus, we would all be the clowns.
|
|
|
|
|
Its probably that you two(you and JavaScript) haven't been properly introduced. JS isn't bad. It is really like a double edge sword, very useful attacking some weird enemies, however it can inflict on you too.
I would choose C# and JavaScript equally.
|
|
|
|
|
Leng Vang wrote: It is really like a double edge sword Exactly, and most programmers end up on the sharp side and cut themselves. Not many people go as far as to learn about prototype, function order, hoisting, and function variables, method invocation using call and apply, learning what "this" really refers to, using objects as hash tables, testing for equality properly (===, not ==), truthy/falsey or even have the discipline to use loose types in a way that makes sense.
And working with a loosely typed language that's not documented is nothing short of impossible (and way too much of that code is undocumented). It's just a matter of invoking "something" on "something else" and then getting "a third something"
There are a lot of sloppy and bad programmers out there and they can do harm in any language, but JavaScript just makes it way to easy. Hell, even good programmers have to thread lightly when using JavaScript!
I'll always take C# (or any strong typed language), and after that any other loosely typed language, over JavaScript.
|
|
|
|
|
I like it, and I find that ES2015 has eliminated many of the gripes I've had with it in the past. Having an actual module system is much nicer than just relying on libraries you need being available in the global namespace. Using const and let where I would have used var in the past gets rid of scoping and hoisting issues for the most part.
Using ES2015 makes it necessary to run your code through a build process to generate ES5 that will be compatible with all browsers. I find this to be a benefit, though. A decent amount of static analysis is possible even in a dynamically typed language like JavaScript, so tools like ESLink or Google's Closure compiler are able to find a decent numbers of errors and in the case of Closure, do lots of optimization and dead code elimination as well.
Source maps are generated as part of the process, so the original ES2015 code shows up in browser dev tools instead of the mangled and optimized ES5 generated by the compiler, and normal debugging tools like watches and breakpoints generally just work. I had some issues with source maps and browser debugging tools not working well in the past, but it's been about a year since I've encountered any problems there.
I know some people hate the idea of adding a compilation step to the JavaScript, but I figure if I'm not going to get angry at C# for having a build process, I shouldn't get too upset about using one for JS. The build isn't going to catch type errors in a dynamically typed language, of course, but it can catch plenty of errors you might otherwise miss.
As you've alluded to in some of your replies to other people, a lot of confusion happens because JavaScript looks a lot like C++ or Java, but the semantics are quite different. I approached JavaScript after toying around with Smalltalk, Scheme, and Common Lisp, so a lot of what I saw (first class functions, why this works the way it does, etc.) made sense. Although now even C++ will let you dome something like auto add = [](int a, int b) { return a + b } . You can use JavaScript's looseness to your advantage sometimes; if you understand the difference between == and ===, there are times when == provides exactly what you want.
Or if you're working a library that is a bit wonky (a phenomenon that certainly isn't unique to JS - I've encountered lots of the in the .NET and Java ecosystems too), you might want to perform a certain operation only if a value you get back is not null, or undefined, or zero. In that case, it's nice to be able to write
if (foo) { doSomething() } rather than
if (foo != null && typeof(foo) != 'undefined' && foo != "") { doSomething() }
I guess what it comes down to is that the language has quite a few pitfalls and some historical baggage. It's possible to avoid all of these and focus on the modern bits, and when I do that I find JS development quite pleasant. It's a non-trivial amount of work to learn all of that, though. Many developers use JS as a secondary language to occasionally add some interactivity to a web page, and for most of them there's not a huge ROI in becoming a JS expert.
Then there are those who just hate JS because it is dynamically typed. I often see people getting very worked up, writing passionately about why dynamic typing is the work of the devil. They often mix up static vs dynamic typing and strong vs weak typing, ignoring the reality that some languages are strongly typed and dynamically typed (like Python). I try to stay out of those flamewars because they often just boil down to the old liberal and conversative software engineering dichotomy where the respective see the other as degenerate hippies or something like this.
I've been on both sides of that debate at various points in time, so I'm sympathetic to both points of view. Now that TypeScript makes it easy to gradually add static typing to existing JS code, maybe the two sides can find a way to peacefully co-exist and prosper. These days when I'm working on personal projects I tend to wander off in Clojure land, building apps from the ground up and then adding typing when it makes sense.
So at the end of the day, I completely understand why many people dislike JS. However, the question was about why I might vote for JS, not why anyone else should. Hopefully what I've written helps explain that. I like both C# and JS quite a bit, and couldn't decide which one to vote for. So I voted for Objective-C because it was looking pretty lonely in the poll results.
|
|
|
|
|
You make some good points
I'm still sticking to C# though
By the way, what I liked about JS (MongoDB, Node, and front-end particularly) is that it's not trouble at all to work with the same objects throughout your stack (and then on the fly add some new ones). Only one language can do that
|
|
|
|
|