When is a person a programmer?

Vestras

Retired
Reaction score
249
C is definitely low-level. You're just not at the point where you're using stuff such as __cdecl yet (makes your code ugly)
 

rover2341

Is riding a roller coaster...Wee!
Reaction score
113
I believe a person should be considered a programmer when they can create an application with little or no help from others.

I agree, I consider my self to be a programmer back in middle school when i was messing around in visual basic. No i wasn't great at it. But ya i made a few cool little games. I had to go out and buy a book to learn how to use it.


Programing languages. Thats the way i see it :), But i could be wrong. these are the languages i have worked in, but mostly c# and c++.
(High) Warcraft 3 GUI -> Visual Basic-> C#(XNA,Sliver Light) -> C++(Object Oriented Programing) -> C (Low).
 

Darthfett

Aerospace/Cybersecurity Software Engineer
Reaction score
615
A programmer is someone who knows how to program. This means that they can convert from language to language with MUCH less effort than someone with no experience.

When it comes to programming languages, its usually the syntax that differs between languages. There's not a huge difference when it comes to the concepts (such as loops, interfaces, classes, etc). For those who would argue against this, consider this: A person who programs in a high level language is still a programmer, even if he doesn't know how to program in a low level language which can and cannot do many things the other can/cannot.

Is it possible to be a programmer without knowing a language? Yes, but it would mean they are coding in pseudo-code.
 

Tru_Power22

You can change this now in User CP.
Reaction score
144
I agree, I consider my self to be a programmer back in middle school when i was messing around in visual basic. No i wasn't great at it. But ya i made a few cool little games. I had to go out and buy a book to learn how to use it.


Programing languages. Thats the way i see it :), But i could be wrong. these are the languages i have worked in, but mostly c# and c++.
(High) Warcraft 3 GUI -> Visual Basic-> C#(XNA,Sliver Light) -> C++(Object Oriented Programing) -> C (Low).

Your missing assembly and byte code.
 

codemonkey

Code monkey not crazy, just proud.
Reaction score
66
Assembly just gives machine code functions readable names (instead of of 1s and 0s) and really has a 1:1 correlation with machine code.
 

GooS

Azrael
Reaction score
154
> low-level is what more advanced/experienced programmers work on

I was hopefully clear what I meant with high\low level programming , because that is just wrong!

An experienced/advanced programmer would prefer a lower level language since you don't have access to some functionalities with higher ones. Also higher level languages functions may not carry out their function specifically but have side-effects aswell. Lastly high-level languages often have specific areas of functionality, lets say PHP for the web, as such you cannot make every app you would like just knowing this one language.

That's how I think of higher vs lower level languages. On a second note C has been declared a low-level language
 

tooltiperror

Super Moderator
Reaction score
231
I`ve created a system that lets you roll a six sided dice in Javascript.

Am I a programmer?

(No help, it was written free hand and without any sort of Guide.)
 

KillerChi

New Member
Reaction score
20
> I would consider a person who programs in jass as more of a programmer then someone who programs in GUI ( Mean trigger editor? Everybody programs in a GUI these days, I believe )

Wrong, Jass is not a programming language, it is a scripting language. It would make him a scripter, not a programmer.
A high level language, is a syntax that can be converted by a compiler to a lower level language, such as Assembly or binary. This is programming 1 : 1.

> think of like a game-making program that already does 99% of the things for you

Right, Using a tool such as game maker, is merely a cover ( like the trigger editor ) with a lot of pre-programed routines, making it easier to create a game. Such as Visual Studio makes it easier to build GUI applications. But knowing how to operate such tools doesn't make you a programmer, as I said before. Then think they're better programmers than me because of their game makers.....

> low-level is what more advanced/experienced programmers work on

I was hopefully clear what I meant with high\low level programming :eek:, because that is just wrong! :p

Well put. I have friends who "program" using game maker bullshit and telling me to use it. The simplest explanation I can give these people is "It's not flexible enough"
 

Slapshot136

Divide et impera
Reaction score
471
I`ve created a system that lets you roll a six sided dice in Javascript.

Am I a programmer?

(No help, it was written free hand and without any sort of Guide.)

i think the jury is still out on whether scripting languages are programming languages

(TheDamien(pro), Artificial(pro), Themis(con), and Vestras(con) are the jury)

personally i would go with "beginner programmer"
 

Vestras

Retired
Reaction score
249
i think the jury is still out on whether scripting languages are programming languages (TheDamien and Themis are the jury)

personally i would go with "beginner programmer"

If it's named "scripting language", why would it be a "programming language"? :confused:
 

UndeadDragon

Super Moderator
Reaction score
447
I`ve created a system that lets you roll a six sided dice in Javascript.

Am I a programmer?

(No help, it was written free hand and without any sort of Guide.)

To be honest, I don't really think a few lines of simple code like that would count as a programmer in any language.
 

tooltiperror

Super Moderator
Reaction score
231
the act of instructing computers to perform tasks.

I think that I ordered a computer to choose a random number from 1 to six, when a button is pressed, and display the number to the User.

Beginner, sure, but even if Javascript is a 'scripting' language, I still think I`m a programmer.
 

Xorifelse

I'd love to elaborate about discussions...........
Reaction score
87
If it's named "scripting language", why would it be a "programming language"? :confused:
Because graphically speaking, you programmed that "script", at least that's what my opinion is on this matter.
Also, usually a scripting language is executed by a interpreter. Programming language are usually compiled languages.

For the rest, I've got little to say about the rest of the folks claiming C is a low level language. If you guys wanna think that because of today's standards than fine go ahead. While you're at it, please change this wiki page, and replace:
Code:
Low-level programming languages are sometimes divided into two categories: first generation, and second generation.
Code:
Low-level programming languages are sometimes divided into three categories: first, second and C generation.

Also quoted nicely...

By comparison, a high-level programming language isolates the execution semantics of a computer architecture from the specification of the program, making the process of developing a program simpler and more understandable.

Or are you guys saying that C is not understandable and hard to develop something in it. Because if that's the case, it would make it a messy-level language.
If you guys want to claim that C is a low level language, there is no issue here. There is when you give people false information, so keep that opinion to yourself.
There is really no point in arguing this, opinion versus fact.
You can't claim the word "hospitality" is a room in a hospital unless this is changed in the dictionary.

i think the jury is still out on whether scripting languages are programming languages

(TheDamien(pro), Themis(con) and Vestras(con) are the jury)

personally i would go with "beginner programmer"
I'll go with beginner web-designer, JavaScript or JScript has no practical use outside the browser.

Just like a hazelnut is a form of a nut is a scripting language is a form of a programming language. However claiming that they are one and the same is wrong ( Like TheDamien did ).
Just like you and I are human beings, but we are not the same.
Wikipedia, in this case stated it very wrong in my opinion in where they claim a scripting language is a programming language.

Programming languages are nothing more than a syntax being compiled to assembly or binary code, that the CPU can read and execute.
Interpreted languages ( usually scripting languages ) are controlled by software. These languages are basically compiled on-the-fly each time you load it and than fed towards your CPU.

This means by using a compiled language ( usually derived from high-level programming languages ) or a code written in assembly or binary code, you have unlimited access towards your CPU. If you program in such language, by my definition you are for sure a programmer*.

By using an interpreted language, you have only as much access towards the CPU as the software that compiles your code on-the-fly ( the interpreter ) gives you.
Some interpreters, such as the JavaScript one give virtually nothing to work with, and you'd need to find exploits in the interpreter to execute your code directly into the CPU, this would give JavaScript the ability for example to install viruses on your computer though byte code, which it previously could not.

Interpreted languages need an low level language in order to execute. This would be the main BIG difference between Interpreted language and a Compiled language.

However, this would make Java a scripting language and you a scripter, which of course is not true. Java is a huge language, and the JIT interpreter is a huge piece of software. It can feed almost everything to the CPU.
So a interpreted language, doesn't necessarily make it not a programming language by the way it is compiled. Personally I think those rules are defined by how much access you get from the interpreter.
Also switching from a Interpreted language to a directly compiled language, isn't usually that hard to do too.

*So by definition when is someone a programmer is by how well they understand the flow of the code.

This of course does not apply when you use a language with limited access to the CPU, usually a interpreted language which can be for example Jass or JavaScript and this is\are the only language(s) you know. That would make you a mere scripter.
Otherwise even a spreadsheet formula which is being converted by the office software as an interpreted language is a programming language too, and that would make everybody who ever used some proper office a programmer, which of course they are not. The formula has very little access, and a title scripter would say enough about your understanding in programming.

I'm hoping this will be my last long post on this topic, since I havn't left anything out.

Edit:
Owh, I forgot. After explaining all this and you now know what a low level language is, how about this dilemma.
If C was a low level language.. WHY ON EARTH WOULD I NEED TO COMPILE THAT CODE IN ORDER TO LET IT EXECUTE?

I rest my case, Themis out.
 

codemonkey

Code monkey not crazy, just proud.
Reaction score
66
Scripting languages are a branch of programming languages, by definition.

Quoting wikipedia:

A scripting language, script language or extension language is a programming language that allows control of one or more software applications.
 

phyrex1an

Staff Member and irregular helper
Reaction score
447
In my opinion, if you define a programming language from how they are executed or operate on a computer then it's a sure sign that you have no idea what you're talking about. I would draw the line exactly at Turing completeness of the system. That the language later is compiled to machine code or is just in time compiled by a browser really has nothing to do with the language itself... I bet that a lot of java or c++ programmers have no idea what the compiler actually does, so why should the definition depend on it?

But that doesn't answer the original question. I'd say that a person is a programmer when they can express their thoughts in a formal grammar (which doesn't have to be turing complete).

Interestingly enough, that would make writers of regular expressions programmers but regular expressions themself not a programming language. :p
 

Xorifelse

I'd love to elaborate about discussions...........
Reaction score
87
Scripting languages are a branch of programming languages, by definition.

Quoting wikipedia:
That's uuh what I said, only a little differently.

In my opinion, if you define a programming language from how they are executed or operate on a computer then it's a sure sign that you have no idea what you're talking about.
Actually, I stated that a programming language is a mere syntax that is compiled. Said that two times, makes me wounder if you actually read it.

1. Programming languages are nothing more than a syntax being compiled to assembly or binary code
2. So a interpreted language, doesn't necessarily make it not a programming language by the way it is compiled.
 

codemonkey

Code monkey not crazy, just proud.
Reaction score
66
That's uuh what I said, only a little differently.


Actually, I stated that a programming language is a mere syntax that is compiled. Said that two times, makes me wounder if you actually read it.

1. Programming languages are nothing more than a syntax being compiled to assembly or binary code
2. So a interpreted language, doesn't necessarily make it not a programming language by the way it is compiled.

Sorry but that was a huge of wall of text. :eek: ;)
 
Reaction score
333
Large post ahead:

For the rest, I've got little to say about the rest of the folks claiming C is a low level language. If you guys wanna think that because of today's standards than fine go ahead. While you're at it, please change this wiki page, and replace:

You cannot point to a single definition of "low-level" and say "Aha! Only X class of languages can classify as low-level." You need to look at these terms on the basis of present day usage and context. In this case, the context is the continuum of abstraction that exists in today's programming languages. C is definitely at the lower end of this continuum because it provides the barest layer of abstraction over the workings of the computer and is probably the most popular choice for low-level and systems programming.

If you guys want to claim that C is a low level language, there is no issue here. There is when you give people false information, so keep that opinion to yourself.

Whether you like it or not, the distinction between low-level and high-level is not a sharp line drawn at the boundaries between machine code and everything else. That definition does not reflect how the terms are actually used.

There is really no point in arguing this, opinion versus fact.
You can't claim the word "hospitality" is a room in a hospital unless this is changed in the dictionary.

Wikipedia is not prescriptive. It only attempts to describe things as they are. In this case, the definition given by Wikipedia may be valid in the context of generational distinctions, but it fails to describe the more general usage. Any language that is predominantly low-level in its characteristics can be described as a low-level language.

Just like you and I are human beings, but we are not the same.
Wikipedia, in this case stated it very wrong in my opinion in where they claim a scripting language is a programming language.

This does not mean that scripting languages and programming languages are the same, only that a scripting language is a type of programming language. Saying "a human is a mammal" is not the same as saying "a mammal is a human." This is similar. All scripting languages are programming languages, but obviously most programming languages are not scripting languages.

Programming languages are nothing more than a syntax being compiled to assembly or binary code, that the CPU can read and execute.
Interpreted languages ( usually scripting languages ) are controlled by software. These languages are basically compiled on-the-fly each time you load it and than fed towards your CPU.

Assembly language is a human-readable form of machine code. It isn't executed by the CPU; instead it is turned into an executable form by an assembler.

By using an interpreted language, you have only as much access towards the CPU as the software that compiles your code on-the-fly ( the interpreter ) gives you.

Writing programs in assembly language does not give you unlimited access to the CPU. Some functions of the CPU can only be accessed by the operating system, for instance.

Your distinction between interpreted and compiled languages is pretty arbitrary. You could write a compiler for Python and an interpreter for C, and the semantics of the languages would remain the same. You could even write an interpreter for assembly if you really wanted. Like phyrex1an said, the line should really be drawn at the Turing completeness of the language and not at what the language is typically used for or how it is implemented.

*So by definition when is someone a programmer is by how well they understand the flow of the code.

If you are referring to control flow or the evolution of the state of a program or script at run time, then understanding these things has almost nothing to do with whether the language used is a scripting language, or whether it is compiled, or even if it is implemented on a computer at all.

This of course does not apply when you use a language with limited access to the CPU, usually a interpreted language which can be for example Jass or JavaScript and this is\are the only language(s) you know. That would make you a mere scripter.

Just because JavaScript is mainly used for web programming doesn't mean that it isn't a real programming language. You could write a C compiler in JavaScript if you wanted to.

Otherwise even a spreadsheet formula which is being converted by the office software as an interpreted language is a programming language too, and that would make everybody who ever used some proper office a programmer, which of course they are not. The formula has very little access, and a title scripter would say enough about your understanding in programming.

If the formula language is Turing complete and allows non-trivial code to be written, then I would call it a programming language. That doesn't mean that anyone who has ever written a formula in one is a programmer, however. Likewise, I wouldn't call someone a programmer just because they've written a "hello world" program in C++.

Owh, I forgot. After explaining all this and you now know what a low level language is, how about this dilemma.
If C was a low level language.. WHY ON EARTH WOULD I NEED TO COMPILE THAT CODE IN ORDER TO LET IT EXECUTE?

Programs in assembly language must still be assembled before they can be executed, but that doesn't mean that assembly language is high-level all of a sudden.
 

GooS

Azrael
Reaction score
154
@Themis

Many programmers today might refer to C as low-level, as it lacks a large runtime-system (no garbage collection etc), basically supports only scalar operations, and provides direct memory addressing. It therefore readily blends with assembly language and the machine level of CPUs and microcontrollers.
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Ghan Ghan:
    Still lurking
    +3
  • The Helper The Helper:
    I am great and it is fantastic to see you my friend!
    +1
  • The Helper The Helper:
    If you are new to the site please check out the Recipe and Food Forum https://www.thehelper.net/forums/recipes-and-food.220/
  • Monovertex Monovertex:
    How come you're so into recipes lately? Never saw this much interest in this topic in the old days of TH.net
  • Monovertex Monovertex:
    Hmm, how do I change my signature?
  • tom_mai78101 tom_mai78101:
    Signatures can be edit in your account profile. As for the old stuffs, I'm thinking it's because Blizzard is now under Microsoft, and because of Microsoft Xbox going the way it is, it's dreadful.
  • The Helper The Helper:
    I am not big on the recipes I am just promoting them - I use the site as a practice place promoting stuff
    +2
  • Monovertex Monovertex:
    @tom_mai78101 I must be blind. If I go on my profile I don't see any area to edit the signature; If I go to account details (settings) I don't see any signature area either.
  • The Helper The Helper:
    You can get there if you click the bell icon (alerts) and choose preferences from the bottom, signature will be in the menu on the left there https://www.thehelper.net/account/preferences
  • The Helper The Helper:
    I think I need to split the Sci/Tech news forum into 2 one for Science and one for Tech but I am hating all the moving of posts I would have to do
  • The Helper The Helper:
    What is up Old Mountain Shadow?
  • The Helper The Helper:
    Happy Thursday!
    +1
  • Varine Varine:
    Crazy how much 3d printing has come in the last few years. Sad that it's not as easily modifiable though
  • Varine Varine:
    I bought an Ender 3 during the pandemic and tinkered with it all the time. Just bought a Sovol, not as easy. I'm trying to make it use a different nozzle because I have a fuck ton of Volcanos, and they use what is basically a modified volcano that is just a smidge longer, and almost every part on this thing needs to be redone to make it work
  • Varine Varine:
    Luckily I have a 3d printer for that, I guess. But it's ridiculous. The regular volcanos are 21mm, these Sovol versions are about 23.5mm
  • Varine Varine:
    So, 2.5mm longer. But the thing that measures the bed is about 1.5mm above the nozzle, so if I swap it with a volcano then I'm 1mm behind it. So cool, new bracket to swap that, but THEN the fan shroud to direct air at the part is ALSO going to be .5mm to low, and so I need to redo that, but by doing that it is a little bit off where it should be blowing and it's throwing it at the heating block instead of the part, and fuck man
  • Varine Varine:
    I didn't realize they designed this entire thing to NOT be modded. I would have just got a fucking Bambu if I knew that, the whole point was I could fuck with this. And no one else makes shit for Sovol so I have to go through them, and they have... interesting pricing models. So I have a new extruder altogether that I'm taking apart and going to just design a whole new one to use my nozzles. Dumb design.
  • Varine Varine:
    Can't just buy a new heatblock, you need to get a whole hotend - so block, heater cartridge, thermistor, heatbreak, and nozzle. And they put this fucking paste in there so I can't take the thermistor or cartridge out with any ease, that's 30 dollars. Or you can get the whole extrudor with the direct driver AND that heatblock for like 50, but you still can't get any of it to come apart
  • Varine Varine:
    Partsbuilt has individual parts I found but they're expensive. I think I can get bits swapped around and make this work with generic shit though
  • Ghan Ghan:
    Heard Houston got hit pretty bad by storms last night. Hope all is well with TH.
  • The Helper The Helper:
    Power back on finally - all is good here no damage
    +2
  • V-SNES V-SNES:
    Happy Friday!
    +1
  • The Helper The Helper:
    New recipe is another summer dessert Berry and Peach Cheesecake - https://www.thehelper.net/threads/recipe-berry-and-peach-cheesecake.194169/

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top