[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y ] [Search | Free Show | Home]

What did they mean by that?

This is a blue board which means that it's for everybody (Safe For Work content only). If you see any adult content, please report it.

Thread replies: 66
Thread images: 5

What did they mean by that?
>>
They meant that java is a bad introductory language
>>
Is there anything worse than non-technical writers writing about programming?

His biggest argument was that the classic hello world in Java is scary to beginners.
Should we dumb down math and law because it's scary to beginners?

Of course not.
>>
>>60067425
Of course we do.
You're not a racist, right anon? People in the community need good jobs so we have to make programming easy like TV.
>>
>>60067465
this is boring

you're boring
>>
>>60067425
>hurrrrr da mafs and brogrammin is HARD like I LIKE IT because IM SMART XD

Fucknuts, people gradually learn math, each year in class building upon the previous year. You don't immediately start out doing 3 variable derivation and integration in kindergarten.

Likewise, it's fucking stupid to start with a language with so much syntactic bullshit that it makes it annoyingly hard to get started. My CS 101 and 102 classes taught Java and the drop rate was higher than 60%. Start with something simple, like C, where it's easy to understand procedural and gradually learn things like pointers and memory management. Then later on they can learn Java or Python or any other OOP.
>>
>>60067562
Because Java teaches you OOP properly and teaches you to abstract things. C doesn't.
>>
>>60067384
It will probably take another 20 years and they will realize that Scheme is pretty good as an introductory language
>>
>According to the University website, “[CS 106J] covers the same material as CS 106A but does so using JavaScript, the most common language for implementing interactive web pages, instead of Java.”
lmao stanford confirmed meme school
enjoy your hundreds of dollars down the drain
>>
>>60067425
What the fuck
whats so hard about
system.out.println("Hello World"){
}
>>
>>60068089
>Make a class
What's that?
>Hush
It didn't work
>It has to be the same name as the file
Ok, now what
>Public static void
What?
>Hush. Now main(String[] args)
What's that for?
>Be quiet.
>>
>>60067425
>Is there anything worse than non-technical writers writing about programming?

Journalist who know jackshit about science writing about science?

Thanks to one of those half of the world still believe the crap that "we only use 10% of our brain".
>>
>>60068089
Probably because

Public static void main(String[] args)
Which really takes like two minutes to explain
>>
>>60067562
>Start with something simple, like C
Top kek
"What do you mean I can't make an array without knowing the size before"
>>
>>60068142
>It didn't work
>>It has to be the same name as the file
Kek


Really do there is no reason to have a class file and name it something else.
>Hurr why can't I have two different color headlights on my car
>>
>>60068247
you have exactly 2 minutes to explain it now

keep in mind you are explaining it to someone who never wrote or read a line of code in his life.
>>
>>60068269
Someone who can't understand a simple thing like that probably shouldn't code.
>>
>>60068247
It is a stupid entry point function tho, i was learning java because of jvm but then i found kawa scheme.
>>
>>60068285
You don't have to explain public, static and void yet, it's enough that they know that's the entry point.
>>
>>60068285
>>60068315
>11:55
>13:55
bruh
>>
>>60068278
>A completely implicit rule about naming an unexplained abstract CS concept is somehow common sense

Another retarded detail on the pile of shit no one learning lisp or python would have to immediately worry about
>>
>>60068285
>The program always starts at the method called main
>Public means it can be accessed from outside of the method
>Static means it doesn't need to create an instance to be run from
>Void means the method doesn't return anything
>String[] args are the flags the program is run with. You don't need this in the beginning it's the kind of thing autistic neckbeards type into a terminal

>What are objects and classes
"We're gonna discuss that now it's really easy"

Really are you gonna judge a programming method by the two lines of overhead to create hello world?
>>
>>60068269
>"What do you mean I can't make an array without knowing the size before"
That's the perfect way to start teaching people, though. The great thing about C is that it makes it crystal clear how memory allocation works. If you don't know the size of an array beforehand, then how the fuck is the computer supposed to know how much memory it takes up? Answer: it doesn't. If you want arrays to dynamically grow or shrink, that's going to be a performance hit. Teaching C first gives students a good idea of exactly why dogshit languages like java or python are so slow.
>>
>>60067425

To be fair, a Hello World in Java introduces far too many concepts at once. You shouldn't need to understand what classes and objects are to deal with Hello World, nor should you need to understand the difference between a static method and a regular method. Languages like C, Python, and JavaScript need only explain one abstraction: the procedure call. Beginners can learn new abstractions as they go along, but you shouldn't bombard them with the kitchen sink on the first day.

>>60068089

the
public class MyProgram {
public static void main(String[] args) {
System.out.println("Hello World");
}
}

part.

It would be really nice to not have to explain what public, static, and class mean.
>>
>>60068357
Actually I agree python is a better entry level language for other reasons. I'm just saying that PSVM scaring people away is retarded. Like if you drop out of uni because you cannot stand to get PSVM and objects explained for five minutes it just wasn't meant to be
>>
My university's intro class is Intro to C, like why not just use C?
>>
>>60068380
>What's a method?
>What's an instance?
>return what?
>What are flags? Oh we don't need it? Cool!

Back then I did a lot of tutoring for semester 1 students and it's horrible if they start with Java or any C-like language.

Python is probably the best way to teach fresh students programming even though I don't like Python.

>>60068336
?

>>60068333
That's correct but having 4-5 lines of code with just 1 being relevant is ineffective and confusing for most average CS students.
>>
>>60067562
I'm a permavirgin let me be smart please.
>>
File: stanford elite.png (23KB, 692x250px) Image search: [Google]
stanford elite.png
23KB, 692x250px
>>60068023
true
>>
>>60068390
>It would be really nice to not have to explain what public, static, and class mean.
IT IS A FUCKING HEADER
HOW DIFFICULT IT IS TO TREAT IT AS A FUCKING HEADER
IT IS NOT FUCKING DIFFICULT, IT IS SIMPLE, KEEP PASTING THAT SHIT TILL LEARNING IT BECOMES A NEED
IF YOU CAN'T GRASP THAT YOU SHOULDNT EVEN BEEN ON THIS FUCKCING COURSE
LEARNING PROGRAMMING IS NOT EASY ON BRAINLETS
IF YOU ARE A BRAINLET, DONT FUCKING COMPLAIN OR GTFO REEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
>>
>>60068459
It does keep the script kiddies / hacker wannabes at bay.
>>
>>60068430
>Python is probably the best way to teach fresh students programming even though I don't like Python.
I agree completely. Python isn't that fast, but it teaches people how to code without having to worry a lot about resizing array, memory allocation, arrays of different types etc. You can just make the program you want. And if you just need some small scripts for yourself it isn't so bad at all really.
>>
>>60067477
>he doesn't know about the rapist nigger
fuck off to reddit please
>>
File: 1492832377473-g.png (769KB, 1052x1342px) Image search: [Google]
1492832377473-g.png
769KB, 1052x1342px
>>60067384
They realize C is better senpai.
>>
>>60068497
Rust does everything python does minus the good python libraries.
>>
>>60068511
>>60068414
C is even worse lol
>>
>>60067384
Java requires using a lot of features that don't make sense to anyone just starting out; setting up a class and a public static void main function to write a hello world program feels like an arcane ritual for beginners. Java is structured in a way that only makes sense when you start considering software engineering and management, and this isn't getting into throwing newbies headfirst into OOP.

A good introductory language should have a clear correspondence between lines of code and what they do, which is a clear advantage of something like BASIC. Everyone understandably wants to avoid that and the bad habits it teaches, though, so Python is probably the best bet among the popular languages. >>60067809 has a point, but it's pretty removed from conventional paradigms (which is a selling point, but maybe not for a first taste).
>>
>>60068573
No, C is a great language to start learning the concepts. Using C today is fucking stupid, especially since we've learned that perhaps too much reliance on the programmer is a bad thing. But because of it's simplicity, it's a great way to teach how memory allocation works, what references are, and explain functions in a simple manner.

Then, you move to Java and explain things like classes, and the OO paradigm. Explain that Java handles the memory management, which is pretty nice but there are performance hits against this. Explain that Java is newer than C, and as such implements some features that language creators have since learned are important, like, array boundaries. So on, and so fourth.

My university didn't require I take my "Intro to Programming Languages" until my junior year which really hurt desu. I think it should be one of the first classes you take, right after CS 101. Better yet, integrate it into CS 101 and 102. Explain all the languages, their benefits and drawbacks, and etc. Intro to PL was probably my most favorite class; our semester project was creating our own programming language interpreter in ML.
>>
>>60068776
Java starts to make sense when you realize it's built to be exploited by Sun and the alphabet boyz. You're building your application to have a nice uniform tree-like architecture that can be scanned, exploited and to run arbitrary injected objects.

Remember to conform to OSI model and use GUID for whatever for no reason really. Federate your authentication protocol and pass arbitrary data for telemetry.
>>
>>60067384

Java is the introductory programming language though.

It's the language for shitters. The whole language is engineered to make it as difficult as possible for one shitter to mangle beyond repair a codebase hundreds contribute to.
>>
>>60067562
The biggest problem with C for babby's first language is that having to include stdio to print and return an int from the main function could seem arbitrary to someone without context, and giving them said context off the bat might confuse the point of programming.
>>
>>60070160

>What is #include <stdio.h> and why do I need it?
>What is int main(int argc, char **argv) and why do I need it?

>What is a public class MyProgram and why do I need it?
>What is a public static void main(String[] args) and why do I need it?

In the end, the answer is the same; it doesn't matter until later.
>>
>>60070160
We can't avoid everything. In terms of easiness Python would be the best, but I think C teaches a lot of important things, and gives a stable ground to build on. A lot of languages have similar syntax, and they only have the learn the basics once. Using Pyton they wouldn't even learn about variable types.
>>
>>60070314

>Using Pyton they wouldn't even learn about variable types.
No, that actually comes quite naturally.
Try in python to do
4 + "5"
. It won't work because + is not defined for an int and a string. No confusing implicit conversions like in JS or PHP.
From that the utility of data types and casts flows naturally.
>>
>>60067384
I'm not really a programmer, but I learned C in my first semester of business informatics, and Java in my second.
Now as a working student I'm confronted with C# and it's just the best of both worlds.
>>
>>60067384
Java is the worst even C is easier.
>>
File: 1490608106232.jpg (78KB, 492x559px) Image search: [Google]
1490608106232.jpg
78KB, 492x559px
>>60067384
My university started people out with C++.

I don't know if that's good or bad.
>>
>>60070548
Except the performance.
>>
>>60070601

You shouldn't start C++ until you've seen C and Java/C#.

C++ is just a fucking mess. It's a mess with a lot of utility, but you need to understand why it's a mess before you can really get cracking with it.
>>
>>60070601
filter out the retarded normies freshmen year? sounds good to me
>>
>>60068269
Teach C++ instead, problem solved
>>
>>60070601
My community college goes C++ -> Java
>>
>>60070601
>>60070708
I would say that I started with C++, teaching myself using books and the internet when I was 12, and it was easy, but looking back I did all my code in main and used goto instead of methods, not having any clue about what "void" or "class" could mean. I was 12 though, so it's not necessarily the language's fault, but I would start with C now.
>>
>>60070601
>>60070616
C++ is easier to grasp than C for beginners.
Just start with modern features such as smart pointers and auto and leave the more complex parts and the C legacy stuff for later.
>>
File: gradientdescentalgo.png (511KB, 622x719px) Image search: [Google]
gradientdescentalgo.png
511KB, 622x719px
>>
>>60070776
Half C++ "tutorials" you'll find on the web are garbage "C with classes" stuff.
Just grab one of Bjarne's books, he knows his stuff. I think he even has one dedicated for beginners without prior programming experience.
>>
Scheme is literally the perfect language to learn programming.
>>
>>60070784

>Just start with modern features such as smart pointers and auto and leave the more complex parts and the C legacy stuff for later.
That would be a disaster.
Even if your aim is to teach idiomatic, modern C++ in the style of
auto myObject = make_unique<MyClass>();
, jumping right into that is a nightmare. What does auto mean? What does make_unique do? What do the angle brackets signify?

MyClass* myObject = new MyClass();
or possibly
auto myObject = new MyClass();
is much more legible. You want to teach good practice early, but not too early.
>>
>>60067562
>Start with something simple, like C, where it's easy to understand procedural and gradually learn things like pointers and memory management.
On something like 8086 or even 8-bit mcu preferably, so they would learn the concept of optimization instead of LOL MOAR COREZ and muh 16gb meme any time they hit any kind of resource limit
>>
If you think Java is "good" you're a moron.
>>
Why do we even start with hello world?
Even if you strip it down to say("Hello World"), you still have to explain what a function is, and what a string literal is.

Why not start from the bottom?
This is a function, this is a variable, this is a string literal, you can assign to variables with the assignment operator.
>>
Java is for tards and is useless, pascal should be the beginner language so students can learn tail recursion
>>
>>60074133
You are an idiot.
>>
>>60067809
Actually scheme was my introductory language almost 20 years ago. Not great but I understand the pedagogical approach.
>>
>>60075012
t. java """developer"""
>>
I'm always amazed how people have such a difficult time understanding that different languages work best for different uses. I really like using C since I often write firmware, its what C is good for. Its not good for higher level programming like web applications.
Thread posts: 66
Thread images: 5


[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y] [Search | Top | Home]

I'm aware that Imgur.com will stop allowing adult images since 15th of May. I'm taking actions to backup as much data as possible.
Read more on this topic here - https://archived.moe/talk/thread/1694/


If you need a post removed click on it's [Report] button and follow the instruction.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com.
If you like this website please support us by donating with Bitcoins at 16mKtbZiwW52BLkibtCr8jUg2KVUMTxVQ5
All trademarks and copyrights on this page are owned by their respective parties.
Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
This is a 4chan archive - all of the content originated from that site.
This means that RandomArchive shows their content, archived.
If you need information for a Poster - contact them.