I have a programming background, so am familiar with all what has been said. but the way to show the difference between Programming languages using real life simulation methods is just great and proves a point immediately
@G5VIRUS88811 жыл бұрын
Please make more of these programming related videos! They are awesome!
@VeiledDraconis11 жыл бұрын
If we are talking semantics then you are correct. The truth is that the only difference between a "compiler" and an "interpreter" is at what time and how the program is converted to machine code. "Interpreted languages" are compiled to bytecode which is then in turn read by a virtual machine. The virtual machine in turn executes the code on the CPU at run time. This allows languages like Java it's famous "Write once, run anywhere" dynamic. You could also interpret C/C++ code but it's much slower
@kght22211 жыл бұрын
simple programs and applications can often be more efficiently coded in assembly with a higher level language to cover the front end, and assembly can be awesome for custom apps that are needed in businesses (as a pc repair tech we used to use a program built in assembly to both install windows and our standard software package while at the same time backing up the data already on the hdd, and we also had a program written in assembly that let us clone a prepared drive to 8 drives in a few mins)
@Uejji11 жыл бұрын
C# is a bytecode language, like Java. They're both compiled into a lower level but architecture-independent bytecode (CIL and Java, respectively). When you execute the program, that bytecode is translated into machine code, giving it generally performance somewhere in between totally compiled and totally interpreted. In practice, bytecode languages can *sometimes* be faster than compiled languages, but generally they aren't.
@lintfordpickle11 жыл бұрын
I don't know why your comment got down voted so much, you are totally correct. Assembly is only faster if it is written by a competent programmer. Even then, actually writing in assembly takes hell of a lot longer than using c/c++, and unless you *really* understand the specifics of the processor, you won't gain that much speed over what a compiler could create from c
@mrsecify11 жыл бұрын
It's an interpreted language. It has JIT-er (Just-In-Time compilation) that compiles the IL code as it runs, effectively allowing it to run only when it's needed.
@xanokothe11 жыл бұрын
PHP is an interpreted language and it's not useless. Lot of websites and webservices use it. Actually it's the most used server script language now days.Picking the right language depends on the application you want: C/C++ -> desktop games Java -> desktop applications JavaScript / PHP -> Web pages / Web Apps Android -> mobile applications / mobile games
@fisitron11 жыл бұрын
If you want to get into programming you should do so as soon as possible. No reason to wait until you are in college. I made the mistake of pissing away time while I was in grade school instead of refining my programming skills and I regret it every day. Learn Python the Hard Way is a great book to start with and after that you can go though the C version. That will set you on the right track. It takes a long time to get good at it but its one of the most rewarding hobbies you can do as a kid.
@gixxygamma11 жыл бұрын
The relevancy is clear. JSP (JavaServer Pages) and Java is what Ben was talking about and it is used in a considerable chunk of websites either for front end site design or back end site development.
@dakrisis11 жыл бұрын
Glad to see we have you to paraphrase Ben's "Java, which is in all the webpages ..." as "JSP, which is used a lot ...". Here is me hoping everybody who watches this video will be reading this comment thread.
@hand__banana11 жыл бұрын
this is such in depth rare information thank you for something i've never seen before thanks
@NiklasHeer11 жыл бұрын
I would recommend you, to try out a static programming language. Although scripting-languages are good, most of our daily used programs are still written in static programming languages. Even Google uses C++/Java for most of their products. I would suggest Java to you if you are a believer in cross-platform or C# if you live in the Microsoft world. But since you're watching Ben Heck, you should try C or C++, since it is widely used in MicroControllers, even today.
@VeiledDraconis11 жыл бұрын
true is a reserved word in just about every language I can think of and definitely in C++. Since it's case sensitive you could use True however, it's pretty confusing though. If your code was able to compile your output would be "Benisawesome!" since you forgot spaces. Also it would probably read a little easier if you concatenated those strings together then printed it to the console.
@talideon11 жыл бұрын
A few inaccuracies: Python and Java are both compiled into bytecode, though Java's bytecode interpreter has a built in JIT compiler so it can get close to native performance. C, C++, and COBOL are compiled directly to machine code, not bytecode.
@DamnDealDone11 жыл бұрын
Do as Terry Madill said, but also you could make a start in using engines like the Unreal Development kit if you have a decent PC. Watch tutorials on how to start building a game with it. This will give you some fundamentals of how games work and how to design levels. A good introduction to Visual Scripting Languages too with its Kismet system. It's a lot of fun. But yes, learn a real programming language too. If you do that you are basically taking care of your future to a large extent.
@KendallPurser10 жыл бұрын
As a web developer I feel it would be an injustice not to point out that Perl and Java are not used all that much on the web anymore, JavaScript is still common, but a completely different language than Java. PHP is much more widely used, though most websites are simply HTML and CSS.
@EvilNeonETC10 жыл бұрын
Java is everywhere, do you live in a box or something?
@TheStaticable10 жыл бұрын
With Minecraft I think people are starting to see the potential in java as a game programming language
@dan_loup9 жыл бұрын
hazza connor brock matt sam For a game like minecraft, it quite did hurt its performance badly because that's a game that requires a LOT of processing and memory efficiency, but.. it's not there due java. But for anything less CPU intensive like some simpler shooter game that is more GPU intensive than CPU, you can get away with java easily.
@naycnay9 жыл бұрын
I'd say most websites now run off a lot of server-side generation. HTML is very static. Most sites on the internet use something to process data. But as a Microsoft-orientated developer, I use lots of C#. Many of the big sites have heavy asp.net/MVC backgrounds.
@terrymadill11 жыл бұрын
Most colleges and universities have computer science programs. You'll want to get a degree in that. You usually focus on C/C++ in these programs with bits of other languages scattered in. However if you are very proficient in a few languages and have built up a little portfolio you may be able to bypass the education route. If I were you I'd start learning some C/C++, once you have a solid foundation with that it becomes much easier to learn other languages as some are very similar. Good Luck!:)
@shirankao6911 жыл бұрын
Don't worry about it. The whole notion of a "interpreted language" or a "compiled language" is contrived anyways. Languages have nothing to do with compiling or interpreting. You can write a compiler or interpreter for any language. The job of an interpreter is to execute code written in a language, it doesn't have to do that line by line and it may do whatever it needs to get its job done.
@VeiledDraconis11 жыл бұрын
I'm really referring to modern interpreted languages by that statement, which are hybrid languages. Older interpreted languages like BASIC are interpreted at run time directly to machine code.
@JanCajthaml11 жыл бұрын
Don't get me wrong, C++ is good prototyping language (same like processing it has short and fastly written code), but its not ment to be scalable language, the level of abstraction just isn't there. Its good to know C++ just to write something fast and dirty and then decide on which platform you want to deploy it. If you want to program a chip go for assembly if you want to program app go for JIT compilers.
@solomonn1234511 жыл бұрын
this was perfect as i need to start learning coding from scratch, am soon to be working on a app and need to know how to correct and fix code
@dakrisis11 жыл бұрын
However, I do think Perl is an excellent suggestion as a starting point for learning a scripting language. It's one of the best scripting languages around and as such offers great lessons to be learnedfor a new programmer.
@JamieBliss11 жыл бұрын
Actually, many "interpreted" languages are byte code or native compiled these days. Python and PHP both have bytecode and virtual machines, like traditional Java. Modern JavaScript engines (like Chrome's V8 and Firefox's TraceMonkey) use Just-In-Time (JIT) compiling; Sun's Java interpreter also JIT compiles JVM bytecode to machine code. BASIC, however, is still classically interpreted.
@cypherf0x11 жыл бұрын
Don't rely on this video as being accurate. C# is a compiled language like Java. They both get compiled into an intermediate bytecode than can then be executed on the CLR/JVM. It's faster than something like Python/Ruby that is compiled every time at runtime. Languages like C/C++ are compiled to machine code that executes natively on the CPU without requiring something like the CLR/JVM to execute it.
@MrCOPYPASTE11 жыл бұрын
Most scripted languages are shielded for basic/common mistakes and by that you loose powerful concepts like memory access, inlining, intrinsic instructions, whole program optimizations and the list could go on, but on the other hand you get portability and some more high level constructs that could be a big time savers on large projects. In my editor I use C++ to provide core functions and embedded scripting like AngelScript, C# and my own brew language(VMX) to prototype/create tools for it.
@PropaneTreeFiddy11 жыл бұрын
For someone who hasn't been practicing assembly since it was in style, an interpreted language will run much faster and smoother, just because of all the mistakes to be made in low-level languages.
@trex14011 жыл бұрын
that depends on you're needs... (C/C++/C#) are good for windows and xbox games... (Java) is good for making games on any PC... (Objective-C) is good for IOS and OS X systems... (Android) mobile device apps...
@askskater11 жыл бұрын
If you wish to start making games now i would check out some of the free game engines. Such as Unity, The Unreal engine, even the blender engine(I wouldn't recommend blender). Unity uses C# and java Script, The unreal engine uses UnrealScript, and blender use python. I would recommend unity because it is a lot easier to pick up on. Hope this helped...
@cypherf0x11 жыл бұрын
Wrong, it works like Java as it's compiled into a intermediate bytecode that's then run inside of the CLR. The current Visual Basic is as well.
@shirankao6911 жыл бұрын
Why must I get a subset of c in an interpreter? Which subset would I not get? Yes, eval requires an extension of the language and modifications to whatever implements the language. Why does direct memory access hinder interpreters? What differences exist? I'd be happy with 1 difference. I still wouldn't call c++ compiled. I'd say it's compiler friendly. There are c++ interpreters as well.
@gaming-zombie139210 жыл бұрын
Thanks Mr Ben Sir would Love to Learn more about it...
@robodude66611 жыл бұрын
ARM doesn't always use Embedded Java. You can easily get a C/C++ compiler for ARM processors. Arduino uses C++.
@Drummer333311 жыл бұрын
half and half, it is compiled to Common Intermediate Language (CIL) an that is interpretet at runtime.
@kostiak11 жыл бұрын
It existed for a while but recently started picking up in popularity around late 2.x/early 3.x
@wobblewolf111 жыл бұрын
Isnt C and C++ low level not high level, correct me if i am wrong ?
@SekayaJackson10 жыл бұрын
Very helpful. I want my kids to see this too.
@jackmihoff548311 жыл бұрын
Alot of electronics design and theory can be learned from youtube because of the more visual nature of circuitry. programming on the other hand is best done with books, most youtube videos ive seen just scratch the surface of programming concepts
@TreacleMary11 жыл бұрын
It's neither/both - it use a JIT compiler to convert it to bytecode, which is then run by the .NET CLR. Same as Java.
@dakrisis11 жыл бұрын
Excellent recommendation, but you forgot AngularJS, Backbone.js and Node.js in your list of reasons ;) Don't choose because of these reasons alone though: pick a language because it fits your needs and because it brings something to the table you have yet to learn. The basics of operators, classes and procedures are very much the same across many languages.
@XenoContact11 жыл бұрын
Well, I am in no position to recommend anything, so instead I'll advise you to find a suitable programming language(I advise Visual Basic if you are a starter) and stick with it until you feel like you learned 80~90% of it then move to another language and so on, while having a set goal or purpose. Good Luck, to both of us !
@shirankao6911 жыл бұрын
Not sure if I understand that. If you want a c interpreter google will help you find a few quickly. If you want eval in c you'll have to extend the language.
@madcapmonster11 жыл бұрын
Wow there cowboy, first off it all depends on what you want to do, I have worked in IT for the last 20 years and to date I cant think of a single project that I have worked with that has used C/C++ and trust me I have working on some of the largest projects in Europe, now I have stayed away from game code and some of the low level stuff but if you really want to get a leg up there are two routes .net (my background) and Java (my current work). real world projects use these
@oELxTOROo11 жыл бұрын
hey im in the same boat as this kid who ask the question, but someone told me to learn PHP first, what would you suggest i learn first since you sound pretty knowledgeable?
@nimeq11 жыл бұрын
The term is a bit vague really, originally low level language only meant assembler. I don't think there's any specific definition of low/high level programming languages. In very basic non-optimizing compilers, it's simple to convert the older C syntax to assembler, but the newer standards pull it farther and farther away. This is even more true for C++.
@kght22211 жыл бұрын
less overhead by being able to run them on boot from dos, c requires memory managers. this was over a decade ago though. of course those programs could have been written in c, but it would also have required allot of unneeded overhead like dll libraries even including libraries for 386 protected mode (which were not needed for those applications). saved allot of memory, didn't use some of the currently modern instruction sets. but that was all before even dual core procs. hyperthreading was new.
@ohhsk1011 жыл бұрын
I would like to see more videos of programming explained by you Ben
@Greekcraft13111 жыл бұрын
Hi, I'm a 12 year old middle school student. When I am older I want to get into programming and building and wiring new console type games. I really love computers and technology in general so I know I will stick with it... but the thing I want to know is how do I get into that type of profession. If you could tell me that would be great...it would be even better if I could start it now.
@Jbtw0111 жыл бұрын
Is batch programming Still good and still used today
@Jbtw0111 жыл бұрын
oh okay i was misinformed by someone else
@tankmates8 жыл бұрын
Superb summary!
@gixxygamma11 жыл бұрын
JSP is more common than you would think, not "all" by any means but quite a few sites use it, such as Google.
@cpotdevin11 жыл бұрын
Hi Ben, I am excited to star to work with circuits and DIY electronic systems, but when I visited element14 it was just too overwhelming for me to know where to start, so could you give some directions on where to start and where to go?
@kght22211 жыл бұрын
don't get me wrong, both are simple examples, and really only took a few lines to work, but that is the type of thing that assembly is awesome at. nobody is going to make a game or a windows app in assembly today (although they have in the past) but it is great for quick down and dirty we need it right now things. the program for the hdd cloner was written for a p3 800 with 256mb of ram (didn't need more) that had two promise raid cards installed, it just dumped the data from one to all. ide....
@KallyJones7 жыл бұрын
I wish to learn how to program. Where should I start? Is there an online entry level program? Is the Khan academy curriculum a good place to start?
@kayseet70587 жыл бұрын
Solo learn
@xanokothe11 жыл бұрын
.net it's actually precompiled, like java. interpreted languages would be: php, javascript, bash...
@hamtaro12611 жыл бұрын
The favorite language is the 6502 family of assembly code, It is easy enough for me to code for and there is many uses for it! That, and SuperZZT/ZZT-OOP as well as Megazeux's Robotics!
@uncletrucky11 жыл бұрын
He posts it at literally the first minute of a Monday. Lol
@BradenBest11 жыл бұрын
I don't like Java as a HLL because it is interpreted. There's a layer of abstraction between the CPU and the Java bytecode, which is interpreted by an intermediate program. Such processes as raytracing at frame rates greater than 10-20fps are thus impractical in Java for most architectures. For example, Minecraft is a Java game that uses a low resolution raytracing algorithm to render the virtual world. "Minecraft lag" has 14 million results and over 165,000 monthly search hits on Google alone
@BradenBest11 жыл бұрын
Oh good, I'm not the only one who noticed errors. Yeah, the JVM is compiled for the cpu, and then a java program is compiled into java bytecode, which is interpreted by the JVM. Interpreted. There is a layer of abstraction between the compiled Java code and the CPU. That's why Java is slow. As for machine code, you'd be a madman to program in it. The patent office even refuses to look at cases involving machine code since it's "so unreadable".
@tobortine11 жыл бұрын
Learn Perl and then move on to C. If you're a web developer use PHP and javascript. Python is easy but, like most things that are easy, they're also less satisfying.
@malgaines11 жыл бұрын
No, wrong, visual basic is compiled by c++ backend compiler until version 6, then from 7 beyond, its as fast as csharp. No one uses classic basic anymore.
@akawhut11 жыл бұрын
Are you going to build a DLP 3D printer, for finer prints?
@onwul11 жыл бұрын
You should have also demonstrated on LED matrix a language what is being compiled on a run time like Python. That would have been one awesome demo, lol.
@manon-gfx11 жыл бұрын
A piece of compiled C++ code is more efficient than any programmer could ever make in assembly or machine code.
@malgaines11 жыл бұрын
Actually, even assembly x86 is a intermediate code and is compiled to microcode by the CPU. Its a cisc/risc model that all cpus use today.
@manon-gfx11 жыл бұрын
C# is an interpreted language. It runs on .NET from microsoft.
@ArQsha11 жыл бұрын
and which of these would you choose for a mcu?
@trex14011 жыл бұрын
you could start now their are several super easy languages (but I really don't count them but to each his own) such as "Scratch" but scratch is super easy so I wouldn't recommend it... C# is were I started... pretty much any language that's suits you're needs will work... as long as you keep at it you should make it but I make no promises :/
@tHaH4x0r11 жыл бұрын
HTML, javascript and CSS are technicly not programming languages, but scripting languages. But still, python is pretty easy to learn, try to step up to x or c++ after you know python.
@VeiledDraconis11 жыл бұрын
BASIC is most certainly dead, but COBOL is still kicking. In fact if you know COBOL you can make some big bucks. Many things are written in COBOL and not so many people are familiar with the language still. It just costs too much to pay someone to rewrite all that code in a new more popular language.
@ArduinoTronic11 жыл бұрын
Err sorry but Python is a high level OO language with classes and so forth and also may be compiled.
@hankus25311 жыл бұрын
Thanks, that's what I thought it was but wasn't quite sure.
@Budovi11 жыл бұрын
On the one side, nice work with simplifying language types, but I have feeling that you should at least say that choosing proper language is much complicated process than "I'm intermediate programmer and I want fast running program". Dividing into categories is not that simple also. Anyway, if you want to be a good programmer, I definitely do not recommend Python or any hi-level language to you. They are intended to be abstractive and quick to develop with.
@robodude66611 жыл бұрын
"I still don't get it!" will never print because you won't exit the !me.knowProgramming while loop unless you know programming; therefore, you'll get it. The above code will always prove you know programming after watching BEN_HECK_SHOW. Probably why PROGRAMMING_SKILLS is defined as a constant.
@kshadehyaena11 жыл бұрын
I'm more particular to Python. Don't like the "old timey" syntax Perl tends to have. But yeah, not a bad starting point. Especially compared to BASIC.
@simp22348 жыл бұрын
what type of computer should I start with c++, JAVA?
@petruradu72428 жыл бұрын
c++
@Kasper7028 жыл бұрын
Learn Java first
@simp22348 жыл бұрын
Thanks
@Kasper7028 жыл бұрын
Android apps are written in Java
@n.aclasheryt48028 жыл бұрын
flybot freezee i started with java
@AfterDark3311 жыл бұрын
Finally a decent video to explain things simply, well at least for a 13 year old
@talideon11 жыл бұрын
Your comparison of compiled languages to handwritten assembly glosses over a few things. Firstly, these days compiled code is generally as efficient as handwritten assembly in 99% of cases; and secondly, in your example you needed cycle accurate updates of the screen, which can't be guaranteed with a compiled language, but can with handwritten assembly, thus it's not a comparison of speed, but of control over timing.
@victormendoza32959 жыл бұрын
Very good video.
@cypherf0x11 жыл бұрын
A lot of the information in this video is not correct. C/C++ and Java/C# are not the same. C/C++ is compiled down to machine code that runs directly on the CPU. Java/C# are compiled down to bytecode that is then executed by another program like the CLR/JVM. There's not enough space to correct all the wrong information in this video.
@uncletrucky11 жыл бұрын
Ben I want to buy an ardunio, but which one should I start with.
@OverG8811 жыл бұрын
No. You will rarely see Java used as a front-end technology for web applications. But Java is very often used for back-end programming.
@TheBcoolGuy11 жыл бұрын
What specs are on your machine?
@kshadehyaena11 жыл бұрын
I'd recommend inventwithpython . com / chapters / for beginners, you don't have to go further than chapter 14 or so if you don't care for games.
@cottoneyemoe11 жыл бұрын
The ad in the middle is just so darn cute.
@tabsl11 жыл бұрын
... Well Python in't just an interpreted language. You can also compile it to Python bytecode, so it imports and runs faster.
@kght22211 жыл бұрын
so it's problem was that it could only dump to masters, it didn't work right with master/slave setups, otherwise it would have been 16 hdds.
@aperson25918 жыл бұрын
Any tips for a Python and Rasberry Pi beginner?
@dj_chateau11 жыл бұрын
Ben, you need to make a correction, C and C++ do NOT compile to bytecode, they compile to native code.
@VijayAtwater-VanNess11 жыл бұрын
No its not, its compiled, Down to MSIL, thats then run on the CLR, its not purely interpreted.
@munchrmx11 жыл бұрын
I'm going to start robotics next year and i want to do programming because they barely got any!
@asdf161611 жыл бұрын
woooooo, new video :D
@robodude66611 жыл бұрын
Only if knowProgramming isn't a member of the me object, which gets updated by the watch method of the me object, and instead of a function.
@VeiledDraconis11 жыл бұрын
Lua is a scripting language written in C++. It's much simpler to learn than C++, but far less powerful.
@dakrisis11 жыл бұрын
How is this relevant to the point I was making? I'm not interested in the coverage of JSP. I'm trying to point out to people, and Ben, that Javascript is not Java. It's an error made more frequently than you would think. I would also like to take this opportunity to let everybody know I'm very pleased about the fact they are definitely not the same.
@unicodefox10 жыл бұрын
Scratch?
@hamcha11 жыл бұрын
It's still compiled to Bytecode, so it's a way in between
@StigDesign11 жыл бұрын
chekk it on wikipedia. its Low level programming one of the closest to computer machine code :)
@DakumaMusic11 жыл бұрын
C# is still my fav language of all time :)
@dakrisis11 жыл бұрын
How is Java 'in all the webpages'? Javascript, which is used in many webpages, is not the same as Java. In fact, the two are about the exact opposite in many ways.