Jump to content

Best language for a begginer?

spellmanuk

Technically since you can implement Rule 110 in CSS, CSS is Turing Complete.

 

Also there are tricks you can do in CSS that involve making the web page react to user interaction. I do this as a challenge sometimes to create HTML pages that respond to user interaction without JavaScript. Like for example, creating a tabbed interface in CSS:

However, it's not a good language to learn if you want to start developing applications.

 

EDIT: If anything though, HTML/CSS does have some shared concepts that do help with developing applications, but there are some skill sets you cannot learn effectively in HTML/CSS that carry over to application development.

Link to comment
Share on other sites

Link to post
Share on other sites

I'd say Assembly. If you understand Assembly well enough, C and its variants follow much the same logic.

 

I was taught flowcharting, and then Assembly. C is generally very easy for me to deal with now.

i7 6700K @ Stock (Yes I know) ~~~ Corsair H80i GT ~~~ GIGABYTE G1 Gaming Z170X Gaming 7 ~~~ G. Skill Ripjaws V 2x8GB DDR4-2800 ~~~ EVGA ACX 3.0 GTX 1080 SC @ 2GHz ~~~ EVGA P2 850W 80+ Platinum ~~~ Samsung 850 EVO 500GB ~~~ Crucial MX200 250GB ~~~ Crucial M500 240GB ~~~ Phanteks Enthoo Luxe

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, Noirgheos said:

I'd say Assembly. If you understand Assembly well enough, C and its variants follow much the same logic.

 

I was taught flowcharting, and then Assembly. C is generally very easy for me to deal with now.

Assembly might not be right for most beginners, nor is it used much these days. What kind of assembly did you learn though? x86, ARM or something else?

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, Noirgheos said:

I'd say Assembly. If you understand Assembly well enough, C and its variants follow much the same logic.

 

I was taught flowcharting, and then Assembly. C is generally very easy for me to deal with now.

  1. There are a ridiculous number of ASM languages, and will continue to be more as new architectures are created.  Each language is different.
  2. ASM is the worst possible language to start with.  They are literally the most narrow languages you can use, because each type only works on one architecture.

Make sure to quote or tag me (@JoostinOnline) or I won't see your response!

PSU Tier List  |  The Real Reason Delidding Improves Temperatures"2K" does not mean 2560×1440 

Link to comment
Share on other sites

Link to post
Share on other sites

9 hours ago, peej said:

@Cruorzy @vorticalbox @stmfd sp!, {lr} @Dat Guy @VicBar @straight_stewie

 

so, in the end, I decided to just go with HTML 5 and CSS since I kinda knew some so far I've managed to do this, thoughts?

 

http://toasterbag-pjduffield97452529.codeanyapp.com/

I agree with everyone else, HTML5 and CSS are ok if you want to be a "web designer", but they are not so much a programming language, pretty bottom of the barrel as far as scripting languages go, to be honest..

I still defend python for the reasons listed below, although C would be my second highest recommended language since it is used pretty much everywhere and from that you can lean enough of programming as a whole that any other language you choose to pick up after will be pretty easy.

 

In the end the language is not that critical, it's the principles, the algorithms, the structure and logic... once you learn that, you can pick up any other language's syntax real quick and start programming in it.

Spoiler

I recommend Python because it helps you focus on those important parts ("the principles, the algorithms, the structure and logic...") since the syntax is so simple.

 

Personal Rig:

[UPGRADE]

CPU: AMD Ryzen 5900X    Mb: Gigabyte X570 Gaming X    RAM: 2x16GB DDR4 Corsair Vengeance Pro    GPU: Gigabyte NVIDIA RTX 3070    Case: Corsair 400D    Storage: INTEL SSDSCKJW120H6 M.2 120GB    PSU: Antec 850W 80+ Gold    Display(s): GAOO, 现代e窗, Samsung 4K TV

Cooling: Noctua NH-D15    Operating System(s): Windows 10 / Arch Linux / Garuda

 

[OLD]

CPU: Intel(R) Core(TM) i5-6500 @ 3.2 GHz    Mb: Gigabyte Z170X-Gaming 3    RAM: 2x4GB DDR4 GSKILL RIPJAWS 4    GPU: NVIDIA GeForce GTX 960    Case: Aerocool PSG V2X Advance    Storage: INTEL SSDSCKJW120H6 M.2 120GB    PSU: EVGA 500W 80+ Bronce    Display(s): Samsung LS19B150

Cooling: Aerocool Shark White    Operating System(s): Windows 10 / Arch Linux / OpenSUSE

Link to comment
Share on other sites

Link to post
Share on other sites

13 hours ago, peej said:

well while i have no particular need for learning other than just to learn i was thinking more making windows applications or maybe iOS/android stuff as a long term goal 

For that goal I would suggest C++ and C#. C++ is much stricter language than C# and it is really good starting point to see what objects are and it will teach you how to be disciplined in coding. When you get basics of C++, you can switch to C#. C# is much more forgiving language than C++ but still they are really similar. If your goal is iOS and Android, C# is the best language out there. Swift is cool (it has really similar programming style as C# and for me it took 15min to get used to it) but it is mostly used for Apple stuff. On the other hand, with Xamarin (while writing in C#) you can make your applications for Adnroid, iOS (watchOS) and Windows phone at the same time. Of course, making Windows applications is also easy when you know C#. Also, please note that in order to compile and use Xamarin for iOS devices, you need Mac which is in the same network as your dev PC. Java is mastodon of programming languages and hopefully it will go for it's eternal sleep soon. Although, it is still maybe the best language to see how object oriented paradigm works for absolute beginners but 

 

My personal preferences are C++ and C#. If I need to get maximum performance, I will always choose C++ because of the finer control of the memory management, etc. If I need to make something relatively simple, non resource hungry, I will choose C#.

 

Python and PHP are IMHO not good as a first  programming languages since they are not strict at all and you can make the same thing in 100 ways but only 1 way is good and secure one. This is why there are so many awfully coded sites which are full of security holes like ementaler cheese.  I mostly use Python when I need Linux script and don't want to spend too much time with Bash.

Link to comment
Share on other sites

Link to post
Share on other sites

The first post I see on this topic is

15 hours ago, domandric034 said:

Go first C and C++ then Javascript and Python

With all due respect to @domandric034, if you actually want to stick at it then don't start with C or C++. Sure they're everywhere. Sure they'll get you a good salary when you get good at it, if you get good at it. Neither C or C++ is a friendly language for a beginner at all. I've been programming in C for 5 years, coming from a Java background (5 years isn't shit, I know), and hell I still suck at it. But you could get real competent at other languages real quick. The problem with C and C++ is that it's such a low level language that you require knowledge of computer science concepts such as a computer's memory system.

 

 

If you want to truly learn a language, think of a project and learn the language required for that project. There's no "best" language to learn. Want to build a web app? Javascript. Android app? Java. iOS app? Objective C. Game or Windows program? C#. You get the point. 

"The only person you are destined to become is the person you decide to be."


CPU: Intel i5 4690K - Motherboard: Asus Maximus VII Ranger - RAM: Corsair Vengeance LP - 2x4GB @ 1866Mhz - GPU: MSI Twin Frozr GTX 770 4GB - CPU Cooler: Be Quiet! Dark Rock Pro 3 CPU Cooler - PSU: EVGA SuperNova G2 750W - Storage: Seagate Barracuda 2TB HDD- Case: Fractal Design Define R4 Windowed (with Red AKASA Led Strips) - Display: Benq GL2460HM 24" Monitor

Link to comment
Share on other sites

Link to post
Share on other sites

It's still wrong to assume there is "the best language" for a certain kind of application. It basically depends on your skills. 

 

Some people limit themselves to inferior languages because "they are easy". :(

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

15 hours ago, Dat Guy said:

Thought: I thought you were after programming. Neither HTML nor CSS are programming languages. 

 

12 hours ago, Cruorzy said:

Those arent programming languages but its basicly coding what you do. Its a great start if you are interested in web apps/websites.

Once you start getting familiar with it you should pick some server side language to get further if you really want to make some nice functional websites.

 

 

10 hours ago, noahdvs said:

The reason why others are saying HTML and CSS aren't programming languages is because they're stateless. They can be used to draw things on your screen in a web browser, but what is drawn can't change unless the user clicks on a link to another page or you use a programming language like Javascript. You can't actually make a program with HTML/CSS, so they are not programming languages.

 

okay so i may have got my terminology mixed up a bit :P should of probably said code instead of program although i figured that once i became moderate at HTML and CSS that things like C and python would become easier since there must be some kind of transferable skills. thanks for the clarification anyway 

I lurk a lot

Link to comment
Share on other sites

Link to post
Share on other sites

No, you won't learn any of C (or Python; please don't use Python) by using HTML and CSS.

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

29 minutes ago, Dat Guy said:

No, you won't learn any of C (or Python; please don't use Python) by using HTML and CSS.

that's not what i was saying

I lurk a lot

Link to comment
Share on other sites

Link to post
Share on other sites

Yes, it is:

Quote

once i became moderate at HTML and CSS that things like C and python would become easier since there must be some kind of transferable skills

There are no transferable skills in HTML and CSS.

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, Dat Guy said:

Yes, it is:

There are no transferable skills in HTML and CSS.

 

whatever you say dear

I lurk a lot

Link to comment
Share on other sites

Link to post
Share on other sites

I don't think your tone is adequate, "dear". Don't ask for advice if you don't intend to follow it anyway.

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

13 hours ago, JoostinOnline said:
  1. There are a ridiculous number of ASM languages, and will continue to be more as new architectures are created.  Each language is different.
  2. ASM is the worst possible language to start with.  They are literally the most narrow languages you can use, because each type only works on one architecture.

1. Sure there are, but the most common and most used is 80x86. It has been for the past thirty years, and will continue to be used for quite some time. At least until we're ready to throw all those years of backwards compatibility out the window.

2. Its the lowest level language for a reason. Thing is, the logic makes it significantly easier to understand languages like C and its variants. Everyone is different, but C is nothing but a joke after mastering ASM.

 

I say go for x86. The concept of memory and registers is fairly simple, and I can give an explanation if anyone would like.

i7 6700K @ Stock (Yes I know) ~~~ Corsair H80i GT ~~~ GIGABYTE G1 Gaming Z170X Gaming 7 ~~~ G. Skill Ripjaws V 2x8GB DDR4-2800 ~~~ EVGA ACX 3.0 GTX 1080 SC @ 2GHz ~~~ EVGA P2 850W 80+ Platinum ~~~ Samsung 850 EVO 500GB ~~~ Crucial MX200 250GB ~~~ Crucial M500 240GB ~~~ Phanteks Enthoo Luxe

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, Erik Sieghart said:

This line of thought is ridiculous, and yes, I do program in Assembly. This was after I was already building custom circuits, so I knew how processors and registers worked. I knew why we needed nop during branching.

 

Teaching basic logic, operators, data-types, flow control, etc. on an easy language is far easier and more important than dealing with telling your input device that you've receiving a character. Similarly if you want to be useful, assembly won't be much help.

I've come to like Rust for new developers as a safe and easy alternative to C/C++. There's also python.

I'm doing electrical and logic circuits as well, but I assume most people beginning programming would have a basic understanding of them. Perhaps I find it simpler because that's how I learned to code. Picked up that Kip Irvine book and just did small projects. 

i7 6700K @ Stock (Yes I know) ~~~ Corsair H80i GT ~~~ GIGABYTE G1 Gaming Z170X Gaming 7 ~~~ G. Skill Ripjaws V 2x8GB DDR4-2800 ~~~ EVGA ACX 3.0 GTX 1080 SC @ 2GHz ~~~ EVGA P2 850W 80+ Platinum ~~~ Samsung 850 EVO 500GB ~~~ Crucial MX200 250GB ~~~ Crucial M500 240GB ~~~ Phanteks Enthoo Luxe

Link to comment
Share on other sites

Link to post
Share on other sites

21 minutes ago, Erik Sieghart said:

I've come to like Rust for new developers as a safe and easy alternative to C/C++. There's also python.

Most "easy" languages are "easy" because they take over the control over large parts of how "your" application works.

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

Choosing an abstract language as the first one will raise the bar for C, ASM et al. as it's harder to learn a different concept than the first concept. You can't transfer anything you know from e.g. Python to C (except "there is a main function").

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

Strong typing and dynamic typing are entirely different things.

Python's return values do not depend on the method's signature.

You don't link dependencies into a Python "binary" (because there are no binaries).

Even loops work slightly differently.

 

So you'll have to relearn most things anyway.

 

(I stated in another thread that Pascal was and is the better "teaching language". The points I mentioned here would prove that.)

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, Erik Sieghart said:

Pascal shouldn't be used by anyone for anything.

Why not? It has all the advantages of Python (even some of Go's) without its disadvantages. 

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

On 4/3/2017 at 8:17 AM, Benjamin Misell said:

If you want Windows apps you need to learn c# although it's a bit complicated. I'd recommend starting with command line stuff and python. Great place to learn is codecademy.com. For Android you need to learn java and s swift for Apple but you also need a mac and pay apple $100 a year.

Python is definitely great to start out with if you want to get into GUI programming as well, it isn't as fast as native C# or C++ but it does feature GUI libraries such as Tkinter. 

My procrastination is the bane of my existence.

I make games and stuff in my spare time.

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

3 hours ago, Dat Guy said:

Most "easy" languages are "easy" because they take over the control over large parts of how "your" application works.

That's true, though it's not necessarily bad. I'd also say Rust is easier than C/C++ in some ways and harder in others. It's certainly not the best first language, due to a lack of IDEs. Rust is difficult early on because of how picky the compiler is, but it's easier to learn to write safe code in Rust. C/C++ lets you do a lot of questionable things.

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, Erik Sieghart said:

Ignoring that python is greatly superior in terms of features

Like what? 

1 minute ago, Erik Sieghart said:

There's a lack of support, lack of usefulness outside of a hobbyist community, and no real advantage to any other language

 

True for most languages, depending on who you ask. 

 

1 minute ago, Erik Sieghart said:

other than it taking some things from C to make it more "user-friendly" without the advantages of using C.

Actually, both Pascal and C were derived from ALGOL60. 

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

9 hours ago, Noirgheos said:

1. Sure there are, but the most common and most used is 80x86. It has been for the past thirty years, and will continue to be used for quite some time. At least until we're ready to throw all those years of backwards compatibility out the window.

2. Its the lowest level language for a reason. Thing is, the logic makes it significantly easier to understand languages like C and its variants. Everyone is different, but C is nothing but a joke after mastering ASM.

 

I say go for x86. The concept of memory and registers is fairly simple, and I can give an explanation if anyone would like.

You don't start with the hardest language and move backwards.  You learn something simple to get the basic concepts of logic.

Make sure to quote or tag me (@JoostinOnline) or I won't see your response!

PSU Tier List  |  The Real Reason Delidding Improves Temperatures"2K" does not mean 2560×1440 

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×