Page 1 of 2 12 LastLast
Results 1 to 40 of 43

Thread: What counts as a programming language?

  1. #1

    Thread Starter
    Addicted Member NinjaNic's Avatar
    Join Date
    Dec 2013
    Location
    Earth
    Posts
    230

    What counts as a programming language?

    Hey all! I've been looking at and trying to understand languages like Brainf**k, which were amusing yet complicated. So then, that made me think - what does a language have to have in order for it to be considered a programming language?

    I quickly sketched this up, all it will do is print text into the console:

    Code:
    Module Module1
    
        Sub Main()
    
            Dim Code = IO.File.ReadAllText("C:\Path\testLanguage.txt")
    
            Dim IsPrinting As Boolean = False
    
            Dim i As Int32 = 0
            While i < Code.Length
    
                ' Print a letter.
                If IsPrinting Then Console.Write(Code(i))
    
                ' Check for commands.
                Select Case Code(i)
                    Case "p"c ' A print command
                        If Not IsPrinting Then
                            IsPrinting = True
                            i += 1
                        End If
                    Case CChar(vbCrLf) ' A new line command
                        If IsPrinting Then
                            IsPrinting = False
                            Console.WriteLine()
                        End If
                End Select
                i += 1
            End While
    
            Console.Read()
        End Sub
    
    End Module
    Which will read programs like this:
    Code:
    p Hello World!
    (Obviously, that will print Hello World!)

    EDIT: I updated it and gave it more commands.
    p = Print
    c = Comment
    i = Wait for input, store it (as string, in the interpreter. Is that cheating?)
    v = Print string variable

    Code:
    p Hello World!
    p Am I a programming language?
    c The current 4 commands are: c (Comment) p (Print) i (Input) v (Print Input)
    p Type any string below:
    i
    p You typed:
    v
    p Goodbye!
    Which would read:
    Code:
    Hello World!
    Am I a programming language?
    Type any string below:
    > I typed this.
    You typed:
    I typed this.
    Goodbye!
    This language is by no means useable, but does even something like this get a title of being a programming language? Or does it need...which is what I'm asking, I don't know what it would need. So what makes a programming language a programming language?
    Last edited by NinjaNic; Jan 8th, 2017 at 09:29 AM.

  2. #2
    Ex-Super Mod RobDog888's Avatar
    Join Date
    Apr 2001
    Location
    LA, Calif. Raiders #1 AKA:Gangsta Yoda™
    Posts
    60,710

    Re: What counts as a programming language?

    A scripting language is more of an extension language that is not required to be compiled to run. A programming language is compiled . Sure there are many other shades of grey here but in a nutshell a script will not be a low level language. Javascript is a scripting language as it is interpreted by a browser to execute commands. Some will use the types interchangeably and thats what could create confusion.

    Scripting languages:
    VBA
    Javascript
    VBScript
    etc

    Programming languages:
    C++
    Visual Basic
    .NET

    So in your example you are using VB.NET and the exterior file is read in as parameters to control what happens. Its just a program written in VB.NET. Unless I read your example wrong Itook it all in as the "language". If you only meant the external file then no that would only be the parameter file which is dependent upon the VB.NET program.
    VB/Office Guru™ (AKA: Gangsta Yoda®)
    I dont answer coding questions via PM. Please post a thread in the appropriate forum.

    Microsoft MVP 2006-2011
    Office Development FAQ (C#, VB.NET, VB 6, VBA)
    Senior Jedi Software Engineer MCP (VB 6 & .NET), BSEE, CET
    If a post has helped you then Please Rate it!
    Reps & Rating PostsVS.NET on Vista Multiple .NET Framework Versions Office Primary Interop AssembliesVB/Office Guru™ Word SpellChecker™.NETVB/Office Guru™ Word SpellChecker™ VB6VB.NET Attributes Ex.Outlook Global Address ListAPI Viewer utility.NET API Viewer Utility
    System: Intel i7 6850K, Geforce GTX1060, Samsung M.2 1 TB & SATA 500 GB, 32 GBs DDR4 3300 Quad Channel RAM, 2 Viewsonic 24" LCDs, Windows 10, Office 2016, VS 2019, VB6 SP6

  3. #3
    MS SQL Powerposter szlamany's Avatar
    Join Date
    Mar 2004
    Location
    Connecticut
    Posts
    18,263

    Re: What counts as a programming language?

    Scripting vs. compiled is one axis - certainly not a common one in my book.

    Here is a list of programming languages - grouped by some category...

    https://en.wikipedia.org/wiki/List_o...guages_by_type

    This wiki is a good read

    https://en.wikipedia.org/wiki/Programming_language

    Look at the end - taxonomies

    The task is further complicated by the fact that languages can be classified along multiple axes. For example, Java is both an object-oriented language (because it encourages object-oriented organization) and a concurrent language (because it contains built-in constructs for running multiple threads in parallel). Python is an object-oriented scripting language.

    *** Read the sticky in the DB forum about how to get your question answered quickly!! ***

    Please remember to rate posts! Rate any post you find helpful - even in old threads! Use the link to the left - "Rate this Post".

    Some Informative Links:
    [ SQL Rules to Live By ] [ Reserved SQL keywords ] [ When to use INDEX HINTS! ] [ Passing Multi-item Parameters to STORED PROCEDURES ]
    [ Solution to non-domain Windows Authentication ] [ Crazy things we do to shrink log files ] [ SQL 2005 Features ] [ Loading Pictures from DB ]

    MS MVP 2006, 2007, 2008

  4. #4
    PowerPoster
    Join Date
    Feb 2006
    Posts
    24,482

    Re: What counts as a programming language?

    Another topic that can be trivial or interesting is:

    Turing completeness

    It is only non-trivial if you are in the realm of "declarative" languages, e.g. SQL, regular expressions, etc.

    People call SQL a "programming language" but you can't write a program in it. Some people will try to call HTML a "programming language" but they are misinformed. It is the same thing as for example RTF. Markup "languages" have nothing to do with writing programs.

    Scripting languages are also dubious. Many of them are very limited in capabilities by design. Others are more general, e.g. .Net languages, VBA, JavaScript, etc. Anything that is interpreted or JITted can be argued to be a scripting language, even though many offer tools that can do ahead of time (AOT) compilation to native code.

    .Net languages can often be NGENned but the optimization quality is poor compared to for example VB6 native compilation since it merely pre-JIT compiles the IL pseudocode. Android Dalvik Java is now AOT-compiled with full optimization when an app gets installed.

    The quality is poor and performance sucks, most people will still refer to .Net languages as compiled languages, even though it stretches every definition of the concept. One advantage they have is that at least the .Net JITter has been enhanced to take advantage of newer x86/x64 CPU instructions. That's one of VB6's major curses.


    Imagine a parallel universe where VB had not been cast aside. By now we'd all be driving flying cars, have world peace, the end of war and hunger, and free clean cheap energy... not to mention a viable Microsoft phone OS with significant market share.

  5. #5
    Hyperactive Member
    Join Date
    Jul 2013
    Posts
    400

    Re: What counts as a programming language?

    Quote Originally Posted by dilettante View Post
    Imagine a parallel universe where VB had not been cast aside. By now we'd all be driving flying cars, have world peace, the end of war and hunger, and free clean cheap energy... not to mention a viable Microsoft phone OS with significant market share.
    Good point
    Carlos

  6. #6
    Super Moderator Shaggy Hiker's Avatar
    Join Date
    Aug 2002
    Location
    Idaho
    Posts
    38,989

    Re: What counts as a programming language?

    Who really wants flying cars? Look at the lunatics on any street these days, now imagine them trying to organize themselves in three dimensions.
    My usual boring signature: Nothing

  7. #7
    MS SQL Powerposter szlamany's Avatar
    Join Date
    Mar 2004
    Location
    Connecticut
    Posts
    18,263

    Re: What counts as a programming language?

    We already are rocking 3 dimensions if you consider movement through the X / Y plane as the time-duration dimension.

    Ability to go up would be touching all 4 dimensions - add height.

    The only time height comes into play now is when you have that too tall rental truck and that way too low train underpass...

    *** Read the sticky in the DB forum about how to get your question answered quickly!! ***

    Please remember to rate posts! Rate any post you find helpful - even in old threads! Use the link to the left - "Rate this Post".

    Some Informative Links:
    [ SQL Rules to Live By ] [ Reserved SQL keywords ] [ When to use INDEX HINTS! ] [ Passing Multi-item Parameters to STORED PROCEDURES ]
    [ Solution to non-domain Windows Authentication ] [ Crazy things we do to shrink log files ] [ SQL 2005 Features ] [ Loading Pictures from DB ]

    MS MVP 2006, 2007, 2008

  8. #8
    Super Moderator Shaggy Hiker's Avatar
    Join Date
    Aug 2002
    Location
    Idaho
    Posts
    38,989

    Re: What counts as a programming language?

    Ok, and we are barely capable with the dimensions we currently have to compute in.
    My usual boring signature: Nothing

  9. #9
    MS SQL Powerposter szlamany's Avatar
    Join Date
    Mar 2004
    Location
    Connecticut
    Posts
    18,263

    Re: What counts as a programming language?

    Totally agreed!

    I remember back in those dumb terminal days I saw an Air Traffic controller game (actually on a TRS-80 at Radio Shack) that I ported to a mainframe.

    26 planes would fly into your "radar" screen. You had two airports they might be destined for (or be taking off from). You had to direct then to change altitude and also direction so that they are able to be on course for the landing strip at the right altitude or for leaving airspace in the correct direction...

    On top of that simple stuff you had rules such as no two planes within 3 miles at the same altitude - maybe some more.

    You started the game by setting the amount of time. 99 minutes was the longest available. The 26 planes would enter air space at random times in that time frame. Time would click down in 15 second intervals - 4 cycles for each minute. Since there were lots of "cycles" that you didn't need to tell the planes to do anything - clicking the space bar would forward to the next 15 second cycle.

    Basically each cycle you would look for what needed to be told to each plane - send the commands to each plane - and then click the space bar if it didn't already take you 15 seconds to enter commands. If you miss an important command game ends when planes breech rules...

    After you conquer 99 minutes you try less time - tighter window for the 26 planes...

    Great game to develop - all kinds of threading needed (and on a mainframe that was a nice challenge).

    Addictive game to play.

    *** Read the sticky in the DB forum about how to get your question answered quickly!! ***

    Please remember to rate posts! Rate any post you find helpful - even in old threads! Use the link to the left - "Rate this Post".

    Some Informative Links:
    [ SQL Rules to Live By ] [ Reserved SQL keywords ] [ When to use INDEX HINTS! ] [ Passing Multi-item Parameters to STORED PROCEDURES ]
    [ Solution to non-domain Windows Authentication ] [ Crazy things we do to shrink log files ] [ SQL 2005 Features ] [ Loading Pictures from DB ]

    MS MVP 2006, 2007, 2008

  10. #10
    MS SQL Powerposter szlamany's Avatar
    Join Date
    Mar 2004
    Location
    Connecticut
    Posts
    18,263

    Re: What counts as a programming language?


    *** Read the sticky in the DB forum about how to get your question answered quickly!! ***

    Please remember to rate posts! Rate any post you find helpful - even in old threads! Use the link to the left - "Rate this Post".

    Some Informative Links:
    [ SQL Rules to Live By ] [ Reserved SQL keywords ] [ When to use INDEX HINTS! ] [ Passing Multi-item Parameters to STORED PROCEDURES ]
    [ Solution to non-domain Windows Authentication ] [ Crazy things we do to shrink log files ] [ SQL 2005 Features ] [ Loading Pictures from DB ]

    MS MVP 2006, 2007, 2008

  11. #11
    You don't want to know.
    Join Date
    Aug 2010
    Posts
    4,578

    Re: What counts as a programming language?

    I feel like this is a really tricky argument. I've seen a lot of them turn ugly, for a lot of reasons that have been hinted at here. You can get REALLY nitpicky and involve politics, sometimes by accident.

    The definition most people go by is something like:

    A programming language is some set of rules that allow you to produce instructions to tell a computer how to do something. But not everything that tells a computer how to do something via a set of rules is a programming language. In fact, almost everything people call "programming" is wrong, because it's not what I do. I've arbitrarily chosen a narrow set of languages that reflect my skillset and understanding, and those are programming languages. If you disagree, you're probably naive, stupid, or both. No, I don't need to describe why I think these are programming languages and those aren't. Isn't it obvious?
    I think a better definition is something like this:

    A programming language is an abstract concept. It describes a means by which you can produce a data file that represents instructions for a computer. The primary goal is to represent these instructions in a way that the results of following the instructions are immediately obvious and intuitive to an observer.
    Some programming languages are general-purpose and are limited only by some interesting rules that define the limits of the kinds of tasks that a von Neumann architecture can achieve. In this class of languages, implementation can vary wildly. Some might require the use of one or more tools to convert the input data into something else usable by the machine.

    There are special-purpose programming languages that are more limited in their capabilites. They've chosen some particular behavior of computers and generally can only do that one task. Yet they still fit the definition: they try to represent a way to instruct the computer to do things more intuitively than hand-writing machine code might.

    The distinction really doesn't matter without a lot of context. Even so, once you start applying context, you aren't talking about "programming languages" so much as "some specific subset of programming languages".

    For example, many will say, "HTML is not a real programming language". The next time someone tells you that, follow it up with a good question: "OK, I have a problem. I want to represent arbitrary page layouts that can include images, hyperlinks, and multimedia. These page layouts should display in a predictable manner on any screen resolution. What real language should I use?" I guarantee you they'll walk away and consider you stupid, but isn't it a valid point?

    So there's two different kinds of programmer, and they're bitter enemies:

    Ah. You need to process some data, then display it with markup on arbitrary displays with printing support.

    HTML can certainly cover your markup needs, especially since CSS can allow you to easily describe alternate layouts based on display dimensions. But HTML and CSS cannot perform calculations on data, so you need another piece. The most natural fit is JavaScript, because it integrates well with HTML and there happens to be some packages for analyzing this kind of data. Unfortunately, your data set is large and that will be too slow. There's an F# library for processing exactly this kind of data in parallel. So let's design a solution that processes the data with F#, then outputs HTML/CSS markup.
    HTML isn't a real language, it can't even process your data. I'm going to write a tool that processes your data, and as it processes it spits things out into a grid, which has printing capabilities.
    I wanted to call these two Goofus and Gallant, but they're honestly equally likely to come up with solutions that work well. The guy on the bottom thinks the guy on top overdesigns everything. The guy on top feels like the guy on the bottom is too pigeonholed to consider new solutions. They're both right, and both of them could handle the monkey wrenches I might throw into the process in some way or another. I know from experience it's just as hard to get a good, fluid HTML layout set up as it is to make an ancient grid control respect a 225 DPI display.

    So really, the only wrong way to approach "What is a programming language?" is to say something isn't one. A closed mind is like a closed fist: good luck typing with it.

  12. #12
    Super Moderator si_the_geek's Avatar
    Join Date
    Jul 2002
    Location
    Bristol, UK
    Posts
    41,929

    Re: What counts as a programming language?

    I understand the sentiment, but disagree somewhat.

    While writing HTML and CSS takes technical skill and are perfectly valid as part of a software solution (and are apt for a programmer to do, including me on many occasions), I don't consider them programming languages - they are data files for a program to act on how/if it sees fit (and I'm sure many of us have seen instances of things being ignored by browsers, even if they officially support it). Not counting them as programming languages doesn't mean they are easy, and in fact can mean they are harder in some ways (eg: trying to get fancy CSS working in all major browsers is rather tricky, and debugging tends to be hard).

    Scripting based languages (like JavaScript, and even .bat files) may require a host program, but they are still programming, as you are writing code as a set of instructions to be followed, even if the host program needs to call the parts of your code in response to its own events. Saying that scripting based languages aren't programming languages is over the top, as the skills and methods are almost identical, it is just that one of them needs a host program.


    As to the example in post #1, I would consider that a scripting based (programming) language... the fact that it is currently seriously lacking in features doesn't alter that, it just means that it isn't very useful as it is.

  13. #13
    Super Moderator Shaggy Hiker's Avatar
    Join Date
    Aug 2002
    Location
    Idaho
    Posts
    38,989

    Re: What counts as a programming language?

    The example in the original post is certainly trivial, but if you work with certain types of dataloggers from the 90s (I haven't worked with them since then, so I can't say what more they can do now that memory and processors are so cheap), you could easily have encountered languages nearly that simple. If it was just a series of instructions with zero flow control other than the sequence of the instructions, that was pretty minimal, but the ones I worked with had either loops and conditionals, or they didn't even deal with sequences of instructions. The latter clearly weren't languages. You just set a few properties about intervals of recording, and what was being recorded, and that was all. The former were very much programming languages.

    Also consider that ASM against the RISC subset of instructions was fully capable of creating very large, complex, programs, yet the number of instructions was only a few dozen, often with different flavors for different data widths. That's not as reduced as the instruction set shown in post #1, but if you look at the actual instructions, it is often quite a bit simpler than those shown in post #1.

    So, the minimum that makes up a language is probably the instruction set for whatever CPU you are working with. That could be quite small indeed, and quite trivial, yet it would be undeniably a programming language. Therefore, I'd say that the definition of what is a programming language is largely in the eye of the human looking at it.
    My usual boring signature: Nothing

  14. #14
    You don't want to know.
    Join Date
    Aug 2010
    Posts
    4,578

    Re: What counts as a programming language?

    Quote Originally Posted by si_the_geek View Post
    [...]
    I understand the sentiment, but disagree somewhat.

    While writing HTML and CSS takes technical skill and are perfectly valid as part of a software solution (and are apt for a programmer to do, including me on many occasions), I don't consider them programming languages - they are data files for a program to act on how/if it sees fit [...]
    I could go round and round. The problem comes down to trying to define something that's really abstract. I could certainly argue that VB files are just data files that the VB compiler acts on as it sees fit, and indeed over time the VB compiler has changed its mind about what certain lines might mean! And without that tool (the VB compiler), the data file isn't very interesting. Just like HTML isn't super useful outside its tool (the web browser). But then a Word document's similar, and I wouldn't call creating a Word document "programming", outside of a few cases. But then there's also things like LabVIEW, where what you're working with isn't even text, but the picture you draw results in a working program and *head explodes*.

    There's some markup languages I'm very comfortable calling "not programming". The markup used on these forums, for example. Or Markdown, another popular way to annotate text. The reason I'm fine with those being "not programming" is that word, "annotation". You can read forum code or Markdown posts without a viewer, and they still make sense. The document will still have the same structure, and there's not any chance of calculation or interactivity.

    HTML is inseparable from JavaScript. I think saying, "HTML isn't programming" is like saying "XAML isn't programming". There's no reason to be using XAML if not in the context of a Windows application. Today, there's no reason to be using HTML if not in the context of a "web application". Sometimes, all the HTML does is display a static document, just as Markdown does. We still consider "Hello World" a VB program. So I consider a static HTML page to be more like "A web application with no dynamic content." But it's only one "onClick=" attribute away from having executable code.

    That's also how Word ends up being "not programming". People don't make a "news ticker" in Word. They make a "newsletter". They add all the data at once, and forever that's all the data the document displays. You can write a VBA script that loads some content dynamically. At that point it's a "VBA application inside Word", something completely different and out of the grasp of the average Word user. But the average HTML user HAS TO know a little JS. That makes it different, to me.

    See how I'm going in circles? That's why I don't like this discussion. There's some things that are "clearly programming", things that are "clearly not", and battlefields in the middle that are really hard to define. The main thing I care about is articulating I get mad at "HTML people aren't developers" and similar talk. It's tough work, and there's often multiple ways to go about accomplishing any given layout. I feel like they have to approach their job more like how I have to approach problems than how I think a painter approaches a canvas. That smells like "development" to me.
    Last edited by Sitten Spynne; Jan 10th, 2017 at 06:20 PM.

  15. #15
    Super Moderator si_the_geek's Avatar
    Join Date
    Jul 2002
    Location
    Bristol, UK
    Posts
    41,929

    Re: What counts as a programming language?

    I agree that HTML is development (especially if used in conjunction with JavaScript etc, which isn't always the case), but to me that isn't the same as programming... it is obviously muddied water when you are using HTML with JavaScript, due to the way they refer to each other.

    To me programming means writing code, but development also encompasses the other things that make a solution... and you are right that the lines are blurry (and that claims that one area of development is "better" than another are dubious at best).

    No matter where people think the lines are, a "programmer" will rarely produce good solutions if they only write code.

  16. #16
    MS SQL Powerposter szlamany's Avatar
    Join Date
    Mar 2004
    Location
    Connecticut
    Posts
    18,263

    Re: What counts as a programming language?

    A few posts back T-SQL was noted as NOT being a programming language.

    Interestingly enough I've taken many "applications" written previously in BASIC like languages and turned them into T-SQL stored procedure scripts.

    I've made that a challenge to myself for the past several decades.

    Things like payroll calculations, scheduling students into high school classes, calculating pension amounts for retirees, adjudicating health claims against benefits.

    Using T-SQL for programming requires thinking in a SET based fashion. How can I perform "a given task" against the "set of records".

    In a normal BASIC-like language doing a payroll calc you would first gather all the "rates of pay" for a single person and come up with a gross. Then calculate deductions based on "gross" - then the other fixed ones. Total all them up - and reduce the GROSS to come up with NET. Store those fields in some table.

    In SQL instead we build a TEMP table of all the "rates of pay" and perform UPDATE's against all those rows. Now in a language like T-SQL I am performing two dozen UPDATES and calculating the whole TOWN payroll in those dozen updates.

    In a language like BASIC you have your business-logic-tier and you create methods to calc a persons payroll.

    In a language like T-SQL you can do the same thing with matching UPDATE's in a stored procedure and work against a single person for a supplemental check or a 1000 rows for all the employees of the town.

    And when you use T-SQL you get BEGIN TRAN and ROLLBACK/COMMIT built in.

    That is actually the leading reason to choose something like T-SQL for a programming language for your entire business logic layer.

    My two cents

    *** Read the sticky in the DB forum about how to get your question answered quickly!! ***

    Please remember to rate posts! Rate any post you find helpful - even in old threads! Use the link to the left - "Rate this Post".

    Some Informative Links:
    [ SQL Rules to Live By ] [ Reserved SQL keywords ] [ When to use INDEX HINTS! ] [ Passing Multi-item Parameters to STORED PROCEDURES ]
    [ Solution to non-domain Windows Authentication ] [ Crazy things we do to shrink log files ] [ SQL 2005 Features ] [ Loading Pictures from DB ]

    MS MVP 2006, 2007, 2008

  17. #17
    Smooth Moperator techgnome's Avatar
    Join Date
    May 2002
    Posts
    34,532

    Re: What counts as a programming language?

    My own two cents: In order for something to be a programming language, it has to have three things: 1) a defined lexicon - the key words that make it do what it does; 2) defined control structures - this includes loop structures, logic control structures, even simple block structures; 3) temporary memory storage - in other words, variables.
    This would include script languages, even T-SQL/PL-SQL, js, VB, BASIC, ASM, and tons more. The list probably includes more than it excludes.
    As to whether HTML is a programming language... I'm of the opinion that it isn't. It's what its name says, a markup language. It also fails the third test - it doesn't allow for temporary memory storage; js does... but html by itself doesn't. It does have a defined structure, but it doesn't have control or looping constructs, so it half-fails the second test as well. Again, js includes these constructs, but html by itself doesn't have those capabilities. XAML is an even bigger grey area... at least html can stand on its own, xaml I don't think can... it requires more underneath it to really do anything... so I don't know... don't have much experience with it. It seems (like HTML) more of a UI definition language than an actual programming language; it can be paired with a programming language, but does that make it a programming language or an extension of one? shrug.

    But that's just me and how I see it.

    -tg
    * I don't respond to private (PM) requests for help. It's not conducive to the general learning of others.*
    * I also don't respond to friend requests. Save a few bits and don't bother. I'll just end up rejecting anyways.*
    * How to get EFFECTIVE help: The Hitchhiker's Guide to Getting Help at VBF - Removing eels from your hovercraft *
    * How to Use Parameters * Create Disconnected ADO Recordset Clones * Set your VB6 ActiveX Compatibility * Get rid of those pesky VB Line Numbers * I swear I saved my data, where'd it run off to??? *

  18. #18
    Super Moderator Shaggy Hiker's Avatar
    Join Date
    Aug 2002
    Location
    Idaho
    Posts
    38,989

    Re: What counts as a programming language?

    Quote Originally Posted by szlamany View Post

    I've made that a challenge to myself for the past several decades.

    Using T-SQL for programming requires thinking in a SET based fashion. How can I perform "a given task" against the "set of records".
    Wow, somebody working at being SET in their ways!

    Usually, that comes with age.
    My usual boring signature: Nothing

  19. #19
    Ex-Super Mod RobDog888's Avatar
    Join Date
    Apr 2001
    Location
    LA, Calif. Raiders #1 AKA:Gangsta Yoda™
    Posts
    60,710

    Re: What counts as a programming language?

    Quote Originally Posted by techgnome View Post
    ...As to whether HTML is a programming language... I'm of the opinion that it isn't. It's what its name says, a markup language. It also fails the third test - it doesn't allow for temporary memory storage; js does... but html by itself doesn't. It does have a defined structure, but it doesn't have control or looping constructs, so it half-fails the second test as well. Again, js includes these constructs, but html by itself doesn't have those capabilities. XAML is an even bigger grey area... at least html can stand on its own, xaml I don't think can... it requires more underneath it to really do anything... so I don't know... don't have much experience with it. It seems (like HTML) more of a UI definition language than an actual programming language; it can be paired with a programming language, but does that make it a programming language or an extension of one? shrug.

    But that's just me and how I see it.

    -tg
    XAML is just like HTML. Extensible Application Markup Language, again a markup language.
    VB/Office Guru™ (AKA: Gangsta Yoda®)
    I dont answer coding questions via PM. Please post a thread in the appropriate forum.

    Microsoft MVP 2006-2011
    Office Development FAQ (C#, VB.NET, VB 6, VBA)
    Senior Jedi Software Engineer MCP (VB 6 & .NET), BSEE, CET
    If a post has helped you then Please Rate it!
    Reps & Rating PostsVS.NET on Vista Multiple .NET Framework Versions Office Primary Interop AssembliesVB/Office Guru™ Word SpellChecker™.NETVB/Office Guru™ Word SpellChecker™ VB6VB.NET Attributes Ex.Outlook Global Address ListAPI Viewer utility.NET API Viewer Utility
    System: Intel i7 6850K, Geforce GTX1060, Samsung M.2 1 TB & SATA 500 GB, 32 GBs DDR4 3300 Quad Channel RAM, 2 Viewsonic 24" LCDs, Windows 10, Office 2016, VS 2019, VB6 SP6

  20. #20
    You don't want to know.
    Join Date
    Aug 2010
    Posts
    4,578

    Re: What counts as a programming language?

    Well put, techgnome. Based on that criteria, HTML is "not a programming language", and I like how it ties into my observation that a Word document's certainly not a programming language despite checking many of the boxes HTML does.

    XAML is sort of hard to evaluate against those, but might actually qualify as a programming language!

    XAML represents a .NET object graph. It can be used to express even a non-UI object graph, though it'd be a strange use. Through use of several constructs such as Triggers or the Visual State Manager, it does have some concept of control flow, though no loops exist. Whether it has "temporary storage" is an interesting question, as a TextBox bound to a String variable is technically the same thing as a String variable, and one can make a UI where something appears/disappears based on that value completely in XAML.

    But I think, despite those arguments, it's still so limited without the rest of WPF we have to consider it like HTML to be a "development" language but not "programming". I'm trying to figure out how to make a XAML-only solution that, say, sums the value in two text boxes and places the result in a third. To get there, you NEED to have some non-XAML class. You could try, really hard, to pretend like you did it in XAML with a really funky BindingConverter, but you can only implement a BindingConverter in VB/C#. So it's very much like HTML: to accomplish what we consider "programming", XAML has to be paired with VB or C#. You can interpret some XAML and display it without needing to compile any VB/C#, but anything non-trivial has to rely on "actual" code. In many ways, I'd say HTML is more standalone than XAML.

  21. #21
    PowerPoster
    Join Date
    Feb 2006
    Posts
    24,482

    Re: What counts as a programming language?

    Quote Originally Posted by Shaggy Hiker View Post
    Who really wants flying cars? Look at the lunatics on any street these days, now imagine them trying to organize themselves in three dimensions.
    I can't argue with that. Scary thought indeed. Be careful what you wish for I suppose.

  22. #22
    PowerPoster
    Join Date
    Feb 2006
    Posts
    24,482

    Re: What counts as a programming language?

    If your mind is too open your brain falls out.

    Some people define "programming" so broadly that setting a VCR or DVR to record a TV show on Thursday at 8 PM for 60 minutes is "programming" the VCR. So I guess if you have a setback thermostat in your house you are "programming" that too?

    Fine, but at that point the word is so diluted that pouring a glass of milk becomes "programming" the glass.


    Pretty soon we're all sitting around the fire in fur loincloths grunting at each other.

  23. #23
    Ex-Super Mod RobDog888's Avatar
    Join Date
    Apr 2001
    Location
    LA, Calif. Raiders #1 AKA:Gangsta Yoda™
    Posts
    60,710

    Re: What counts as a programming language?

    Quote Originally Posted by Sitten Spynne View Post
    ...But I think, despite those arguments, it's still so limited without the rest of WPF we have to consider it like HTML to be a "development" language but not "programming". I'm trying to figure out how to make a XAML-only solution that, say, sums the value in two text boxes and places the result in a third. To get there, you NEED to have some non-XAML class. You could try, really hard, to pretend like you did it in XAML with a really funky BindingConverter, but you can only implement a BindingConverter in VB/C#. So it's very much like HTML: to accomplish what we consider "programming", XAML has to be paired with VB or C#. You can interpret some XAML and display it without needing to compile any VB/C#, but anything non-trivial has to rely on "actual" code. In many ways, I'd say HTML is more standalone than XAML.
    But HTML depends upon a browser to render any kind of a UI as such does XAML either in WPF or Silverlight. I would say they are equal and more of scripting languages
    VB/Office Guru™ (AKA: Gangsta Yoda®)
    I dont answer coding questions via PM. Please post a thread in the appropriate forum.

    Microsoft MVP 2006-2011
    Office Development FAQ (C#, VB.NET, VB 6, VBA)
    Senior Jedi Software Engineer MCP (VB 6 & .NET), BSEE, CET
    If a post has helped you then Please Rate it!
    Reps & Rating PostsVS.NET on Vista Multiple .NET Framework Versions Office Primary Interop AssembliesVB/Office Guru™ Word SpellChecker™.NETVB/Office Guru™ Word SpellChecker™ VB6VB.NET Attributes Ex.Outlook Global Address ListAPI Viewer utility.NET API Viewer Utility
    System: Intel i7 6850K, Geforce GTX1060, Samsung M.2 1 TB & SATA 500 GB, 32 GBs DDR4 3300 Quad Channel RAM, 2 Viewsonic 24" LCDs, Windows 10, Office 2016, VS 2019, VB6 SP6

  24. #24
    Smooth Moperator techgnome's Avatar
    Join Date
    May 2002
    Posts
    34,532

    Re: What counts as a programming language?

    Quote Originally Posted by dilettante View Post
    If your mind is too open your brain falls out.

    Some people define "programming" so broadly that setting a VCR or DVR to record a TV show on Thursday at 8 PM for 60 minutes is "programming" the VCR. So I guess if you have a setback thermostat in your house you are "programming" that too?

    Fine, but at that point the word is so diluted that pouring a glass of milk becomes "programming" the glass.


    Pretty soon we're all sitting around the fire in fur loincloths grunting at each other.
    meh... I don't agree with the milk analogy... you're not telling the glass or milk what to do... when you "program" your VCR, or thermostat, you're providing a set of instructions that should be executed when a condition is met...

    Quote Originally Posted by RobDog888 View Post
    But HTML depends upon a browser to render any kind of a UI as such does XAML either in WPF or Silverlight. I would say they are equal and more of scripting languages
    I disagree, and for the reasons I already laid out... they fail the Gnoming Test... they are a language, for sure... they have a defined lexcon... they have a defined structure/format ... but they lack the ability of temporary memory storage... you can't - using HTML - loop through anything... or create conditional blocks... you need an additional language piece in order to do that.

    -tg
    * I don't respond to private (PM) requests for help. It's not conducive to the general learning of others.*
    * I also don't respond to friend requests. Save a few bits and don't bother. I'll just end up rejecting anyways.*
    * How to get EFFECTIVE help: The Hitchhiker's Guide to Getting Help at VBF - Removing eels from your hovercraft *
    * How to Use Parameters * Create Disconnected ADO Recordset Clones * Set your VB6 ActiveX Compatibility * Get rid of those pesky VB Line Numbers * I swear I saved my data, where'd it run off to??? *

  25. #25
    Super Moderator Shaggy Hiker's Avatar
    Join Date
    Aug 2002
    Location
    Idaho
    Posts
    38,989

    Re: What counts as a programming language?

    Just for the record, I agree with both of you.

    I'd say that the answers given really do answer the question: The definition of a programming language is vague and subject to interpretation.
    My usual boring signature: Nothing

  26. #26
    Ex-Super Mod RobDog888's Avatar
    Join Date
    Apr 2001
    Location
    LA, Calif. Raiders #1 AKA:Gangsta Yoda™
    Posts
    60,710

    Re: What counts as a programming language?

    I think we all knew where this thread was leading from the start lol.

    Over time everything changes and evaluations will change as well as views. There is no clear cut answer for the question.
    VB/Office Guru™ (AKA: Gangsta Yoda®)
    I dont answer coding questions via PM. Please post a thread in the appropriate forum.

    Microsoft MVP 2006-2011
    Office Development FAQ (C#, VB.NET, VB 6, VBA)
    Senior Jedi Software Engineer MCP (VB 6 & .NET), BSEE, CET
    If a post has helped you then Please Rate it!
    Reps & Rating PostsVS.NET on Vista Multiple .NET Framework Versions Office Primary Interop AssembliesVB/Office Guru™ Word SpellChecker™.NETVB/Office Guru™ Word SpellChecker™ VB6VB.NET Attributes Ex.Outlook Global Address ListAPI Viewer utility.NET API Viewer Utility
    System: Intel i7 6850K, Geforce GTX1060, Samsung M.2 1 TB & SATA 500 GB, 32 GBs DDR4 3300 Quad Channel RAM, 2 Viewsonic 24" LCDs, Windows 10, Office 2016, VS 2019, VB6 SP6

  27. #27
    Banned
    Join Date
    Dec 2016
    Posts
    2

    Re: What counts as a programming language?

    crearing variables and functions

    In html you simply use all the tags whereas with programming you create procedures, functions, etc

  28. #28
    Banned
    Join Date
    Dec 2016
    Posts
    2

    Re: What counts as a programming language?

    The difference between coding and programming is comparable with the difference between using the command line and shell scripting

  29. #29
    MS SQL Powerposter szlamany's Avatar
    Join Date
    Mar 2004
    Location
    Connecticut
    Posts
    18,263

    Re: What counts as a programming language?

    @DevDream - welcome to the forum!

    *** Read the sticky in the DB forum about how to get your question answered quickly!! ***

    Please remember to rate posts! Rate any post you find helpful - even in old threads! Use the link to the left - "Rate this Post".

    Some Informative Links:
    [ SQL Rules to Live By ] [ Reserved SQL keywords ] [ When to use INDEX HINTS! ] [ Passing Multi-item Parameters to STORED PROCEDURES ]
    [ Solution to non-domain Windows Authentication ] [ Crazy things we do to shrink log files ] [ SQL 2005 Features ] [ Loading Pictures from DB ]

    MS MVP 2006, 2007, 2008

  30. #30
    Frenzied Member
    Join Date
    May 2014
    Location
    Central Europe
    Posts
    1,372

    Re: What counts as a programming language?

    some good arguments and i agree with tg's 3 requirements for programming languages.
    I now spit out a Definition that i think could work but i am not sure it really does. so open for discussions.

    "a programming language starts when the language itself has the capability to create ist own Compiler/Interpreter."

    there are always dependencies. HTML depends on the browser, .net depends on the OS and Framework etc. all These dependencies must be there. we are not talking about reprogramming These dependencies. but once a language can be used to create a Compiler or Interpreter for the exact same language, i.e. writing a vba Interpreter that reads a Textfile of vba code and executes it, or a c++ Compiler written in c++ etc. This i'd say Needs to have all 3 requirements tg mentioned fulfilled otherwise it wont work out.

    so i throw in a Definition based on self creatability. i am not sure if it really works out for all stuff out there and have not thought about it too hard, but i like the simplicity and self reference/recursion in that Definition i find it very appealing

  31. #31
    Superbly Moderated NeedSomeAnswers's Avatar
    Join Date
    Jun 2002
    Location
    Manchester uk
    Posts
    2,660

    Re: What counts as a programming language?

    I agree with TG.

    his definition make the most sense to me.

    The only thing i would like to add having had to do some hefty HTML & CSS work recently despite them not being a programming language it takes no small skill to be really good at them.
    Please Mark your Thread "Resolved", if the query is solved & Rate those who have helped you



  32. #32
    Super Moderator FunkyDexter's Avatar
    Join Date
    Apr 2005
    Location
    An obscure body in the SK system. The inhabitants call it Earth
    Posts
    7,900

    Re: What counts as a programming language?

    A few posts back T-SQL was noted as NOT being a programming language
    To be fair, they said SQL wasn't a programming language. The "T" bit removes doubt, though, and T-SQL definitely qualifies as a programming language.

    As for whether things like HTML and XAML are programming languages, I just don't think it's a useful debate. Give me a decent visual language with some databinding in it and I can produce a working application to support a business without writing a single line of code. You could argue till you're blue in the face about whether I "programmed" it or not but I'm pretty sure that my paying client couldn't care less what the outcome of that argument was.
    The best argument against democracy is a five minute conversation with the average voter - Winston Churchill

    Hadoop actually sounds more like the way they greet each other in Yorkshire - Inferrd

  33. #33
    Smooth Moperator techgnome's Avatar
    Join Date
    May 2002
    Posts
    34,532

    Re: What counts as a programming language?

    Quote Originally Posted by digitalShaman View Post
    some good arguments and i agree with tg's 3 requirements for programming languages.
    I now spit out a Definition that i think could work but i am not sure it really does. so open for discussions.

    "a programming language starts when the language itself has the capability to create ist own Compiler/Interpreter."

    there are always dependencies. HTML depends on the browser, .net depends on the OS and Framework etc. all These dependencies must be there. we are not talking about reprogramming These dependencies. but once a language can be used to create a Compiler or Interpreter for the exact same language, i.e. writing a vba Interpreter that reads a Textfile of vba code and executes it, or a c++ Compiler written in c++ etc. This i'd say Needs to have all 3 requirements tg mentioned fulfilled otherwise it wont work out.

    so i throw in a Definition based on self creatability. i am not sure if it really works out for all stuff out there and have not thought about it too hard, but i like the simplicity and self reference/recursion in that Definition i find it very appealing
    I've heard that definition too... I considered it... then realized it's actually the criteria for a 3rd/4th GL ... even with a broad definition for programming languages, there's still a strata of sub-classing based on specific capabilities, and if I remember right, the self-compiling nature of a language is at least a 3rd (if not a 4th) generation language feature. But to be just a programming language alone, I don't think it's a requirement.
    Which got me to thinking... that first compiler for any language has to be written in something else first. Wouldn't it?

    -tg
    * I don't respond to private (PM) requests for help. It's not conducive to the general learning of others.*
    * I also don't respond to friend requests. Save a few bits and don't bother. I'll just end up rejecting anyways.*
    * How to get EFFECTIVE help: The Hitchhiker's Guide to Getting Help at VBF - Removing eels from your hovercraft *
    * How to Use Parameters * Create Disconnected ADO Recordset Clones * Set your VB6 ActiveX Compatibility * Get rid of those pesky VB Line Numbers * I swear I saved my data, where'd it run off to??? *

  34. #34
    PowerPoster
    Join Date
    Feb 2006
    Posts
    24,482

    Re: What counts as a programming language?

    Quote Originally Posted by FunkyDexter View Post
    To be fair, they said SQL wasn't a programming language. The "T" bit removes doubt, though, and T-SQL definitely qualifies as a programming language.
    Yep, T-SQL isn't SQL but a procedural language that wraps declarative SQL. So as such it comes far closer to being a programming language than conventional SQL.

  35. #35
    Frenzied Member
    Join Date
    May 2014
    Location
    Central Europe
    Posts
    1,372

    Re: What counts as a programming language?

    that first compiler for any language has to be written in something else first. Wouldn't it?
    in the beginning there was....

    some (*cough*) years ago i was typing in data lines in C64 Basic filled with assembler bytecode to then SYS it. That is pretty much 1GL. you can write an assembler that way that manifests its own self reproducability so to speak. it even created the 2GL by adding the possibility to specify the opcode and not the bytecode which is just a 1:1 lookup translation. from that on there comes 3GL and all have the possibility to recreate themselfes so they all count as programming languages.

    is html able parse a html file and create html output? would it make any sense??? sql???

  36. #36
    Super Moderator Shaggy Hiker's Avatar
    Join Date
    Aug 2002
    Location
    Idaho
    Posts
    38,989

    Re: What counts as a programming language?

    Quote Originally Posted by FunkyDexter View Post
    To be fair, they said SQL wasn't a programming language. The "T" bit removes doubt, though, and T-SQL definitely qualifies as a programming language.
    That's the Brits for you, always focused on the T
    My usual boring signature: Nothing

  37. #37
    You don't want to know.
    Join Date
    Aug 2010
    Posts
    4,578

    Re: What counts as a programming language?

    Quote Originally Posted by techgnome View Post
    Which got me to thinking... that first compiler for any language has to be written in something else first. Wouldn't it?

    -tg
    They tend to get created in a cyclical process. It's fascinating. I first read about the technique in a Pascal book that went into the history of the language. When Wirth was writing a compiler, he tried a few times in FORTRAN, and it never quite worked. So instead, he wrote a small bit of compiler in assembly. Then he used that tiny bit of Pascal to write a little bit of a bigger compiler and compiled it. Then he used THAT compiler to build a slightly more capable one. And thus, the first successful Pascal compiler was written in Pascal.

  38. #38

    Thread Starter
    Addicted Member NinjaNic's Avatar
    Join Date
    Dec 2013
    Location
    Earth
    Posts
    230

    Re: What counts as a programming language?

    How is it possible that a programming language can compile itself? That seems pretty crazy. But then, isn't everything a bit crazy?

  39. #39
    PowerPoster
    Join Date
    Feb 2006
    Posts
    24,482

    Re: What counts as a programming language?

    Why would that be "crazy" at all? Every compiler is written using some programming language, they aren't some sort of magic.

  40. #40
    You don't want to know.
    Join Date
    Aug 2010
    Posts
    4,578

    Re: What counts as a programming language?

    I feel like I replied to this thread, and now I don't see the reply, so I wonder where the reply actually ended up?

    Anyway. It blew my mind too when I first read about programming languages compiling themselves. The process is actually pretty simple, I first read about it in a Pascal book. See, Niklaus Wirth had designed the language, but couldn't get a compiler working in FORTRAN for whatever reason. So he wrote a tiny bit of the compiler in assembly. Then he used the features that compiler could use to build a more capable compiler. Then he used that slightly more capable compiler to build another compiler, and he iterated this until he had a complete Pascal compiler, written in Pascal.

    Don't let dilettante discourage you, he's reached the age where he's lost all of his childish wonder and now he's annoyed when he sees it in others. I sort of get that. But it's not good to forget that for a long time, everything computers did was amazing. In fact, it's still amazing. It just doesn't feel that way when you've amassed enough talent to implement "amazing" yourself.
    Last edited by Sitten Spynne; Jan 16th, 2017 at 11:58 AM.

Page 1 of 2 12 LastLast

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width