Talk:Imperative programming

message: i'm concerning that these references do not actually indicate what exactly their referencing, while both seem capable of referencing the entire article, a reader wouldn't know this. It appears to of been added as a GA a very long time ago, and the GA criteria have changed several times, if anyone could, please try to use inline citations for this article or at least hyperlinks or something. Homestarmy 19:10, 14 September 2006 (UTC)
thread_title: GA reference critiera

message: I couldn't fit my entire rationale in the edit summary field...  I removed this section because it's unnecessary: the entire article is about imperative programming, and lists plenty of example languages.  The "The canonical examples of imperative programming languages are Fortran and Algol" statement was unsourced.  The "Others include..." sentence just offered a place for additional languages to be tacked on (see e.g. the edit that only added "Perl" to the list,) when a link to the procedural programming languages category suffices.  WalterGR 23:53, 4 November 2007 (UTC)
thread_title:  Removal of Example Languages section 

message: This article contains language that expresses strong negative opinions about functional programming languages,
and makes unsupported claims to back up these opinions. For example: "A more radical application of this approach..."
"more room to do things in a suboptimal way..." "harder for the programmer to control the performance of programs..."
"some tasks are difficult to specify in a purely functional way..." Actually, those claims are false, but that's not the
point. The purpose of these paragraphs is to help the reader understand better what imperative programming is by comparing
and contrasting it with functional and logical styles. All that is needed is a brief, objective definition of the other styles,
and a few words explaining how that is different than imperative style. This section is not the place for a
religious language war.
So I'm rewording this section to tone it down, make it objective, and remove unproven and unreferenced claims. StormWillLaugh (talk) 02:37, 6 November 2008 (UTC)
thread_title:  Opinionated language about other programming styles 

message: From the Overview:
The hardware implementation of almost all computers is imperative; nearly all computer hardware is designed to execute machine code, which is native to the computer, written in the imperative style.
Does anyone have a reference to a non-imperative computer?  I'd be interested to find out how that works...  —Preceding unsigned comment added by 216.227.91.166 (talk) 21:12, 10 January 2009 (UTC)
replies: text: I'm bumping this question, as I came to this talk page for raising the same question. --Abdull (talk) 15:42, 11 August 2010 (UTC)

text: A Programmable logic device is an inherently non-imperative (declarative) machine that can be used for computing. See Reconfigurable computing. --Kvng (talk) 20:13, 23 September 2010 (UTC)
thread_title:  Non-imperative computer hardware? 

message: Many imperative programming languages (such as Fortran, BASIC and C) were abstractions of assembly language.
This seems to imply that there are programming languages that aren't in any way abstractions of assembly language. I'd argue that this is untrue, that all programming languages designed for computers are in some way abstracting assembly/machine code. If I'm wrong, this sentence at least needs to be clarified. It's fairly orphaned and could use some elaboration anyway.
--68.32.37.109 (talk) 22:40, 19 March 2010 (UTC)
thread_title:  This statement is either misleading or needs clarification 

message: Smalltalk preceded C++ by almost a decade, yet it's not mentioned in the section on object oriented programming. Should be. -- Dougher (talk) 23:06, 29 April 2010 (UTC)
thread_title:  Where's Smalltalk? 

message: Visual C++ is mentioned explicitly in the history of imperative languages, but it made no significant contribution to imperative programming languages nor the C++ language, apart from currently being very popular. GCC made (in my opinion) a larger contribution, being a common testbed for new language features, but is not mentioned. Thus the reference to MSVC++ should be removed imho. --Evertw (talk) 07:42, 23 October 2012 (UTC)
thread_title:  Why is Visual C++ mentioned? 

message: I find the definition unhelpful to laymen. Experts who can understand the first paragraph will undoubtedly know what an imperative programming language is. Any thoughts on this?  — Preceding unsigned comment added by 165.228.230.183 (talk) 11:38, 2 August 2014 (UTC)
replies: text: I've added a layman's summary to the introduction. Dudecon (talk) 08:27, 3 August 2014 (UTC)
thread_title:  the definition too jargon-esque 

message: If you write an endless loop (while(true);), the compiler may optimize it away. The computer does no longer do what the programmer told him. Therefore C++ is not imperative. --84.188.149.238 (talk) 11:38, 12 November 2017 (UTC)
thread_title:  Please remove C++ 

message: A lot of articles link here as part of their description of various languages. However, I'm finding it difficult to understand whether this is a description of a certain style, or encompasses a wide collection of other styles that are more accurate descriptions.
A penguin has wings, but you wouldn't describe it as "a bird with wings" because that distinction is useless, all birds have wings. One is much better off using a more specific category. "A flightless bird" gives the reader much more useful information at a glance, as it associates it with a much more specific class.
The description on this page does not make this distinction. The description is:
"In computer science, imperative programming is a programming paradigm that uses statements that change a program's state... an imperative program consists of commands for the computer to perform."
Ok, so I'm not a language guru, but this could every computer language I've used. I cannot figure out if this is trying to say "practically every language ever" and thus is "bird with wings", or if the definition is "a language in which algorithms are expressed directly without structure" (or similar), that is, a very specific subset of languages, most of them early ones.
Let's ask this another way. C# uses "uses statements that change a program's state". So does Dartmouth BASIC. Yet these two languages, in normal usage, are very very different. One is highly structured, generally OO, and hides implementation. The other is just a word salad of statements. Does this article describe both, or is most correctly referring onto to the later?
Please do not get hung up on specific terminology or examples. The point is whether languages are "imperative and only imperative", or if this is a superclass that refers to such a broad category that it's like saying "birds with wings"?
Maury Markowitz (talk) 11:51, 15 October 2019 (UTC)
thread_title:  The introduction remains unclear 

message: The current here given definition of imperative programming is "a programming paradigm that uses statements that change a program's state" [no source is quoted, BTW]. In my opinion, saying in the above definition that what is changed is the program's state, as it is common to all programs, makes no differentiation between imperative programming and other programming paradigms. I suggest to say, instead, "... change the state of some of its variables" (BTW, in conformity with ISO/IEC 2382:2015 Information technology — Vocabulary)--Vittorioolivati (talk) 11:34, 14 September 2020 (UTC)
thread_title:  Misleading terms used in defining imperative programming 

message: i am huma 786 q from pakistan.i work natural paint 🎨 for people who I like this Huma786q (talk) 17:10, 9 October 2023 (UTC)
thread_title:  Art 

message: There's a long ugly C++ example at the bottom of the page. It serves no purpose, it's not in a modern style and it's overly long. I say remove entirely. 86.29.96.40 (talk) 17:28, 24 October 2023 (UTC)
thread_title:  Remove the long C++ example