Talk:Computer Programming

Babelprog
Suppose I know how to do something in one language, and I want to translate it to another language. For example, I know how to sprintf in C, and I want to do the same in Haskell. Or I know lapply in R and I want to do it in Visual Basic. Is there any babelfish-like tool that could be used to help me? Albmont 14:20, 28 March 2007 (UTC)

There exists a few specific translation tools:


 * "f2c" (f2c), which translates from Fortran77 to the C programming language.
 * there are several Pascal to C/C++ translaters.
 * http://jython.org/ lets you write code in Python and run it on a Java virtual machine.

Please add to this list. While translating from one programming language to another is much easier than natural-language translation, I imagine that translation into a completely different language family ( "imperative" C to "functional" Haskell) is much more difficult than the above same-family imperative-to-imperative translations.

Is there a better place for this list of translation tools somewhere in this book on programming? --DavidCary 20:33, 4 April 2007 (UTC)

BTW, I have just found an interesting resource: http://merd.sourceforge.net/pixel/language-study/syntax-across-languages/Mthmt.html. I guess there's no restriction to copy and paste it to Wikibooks (or wikipedia). Albmont (talk) 17:28, 16 December 2008 (UTC)

Tables
I have found 2 tables that are almost identical, the task of maintaining the information on both is very hard, they should be merged (as one has 2 more rows) and a template should be elaborated so it will be easier to extend and update. I will get to it as time allows but if someone could take a shot at it, please do... txs. Computer programming/Language concepts --Panic 17:28, 11 May 2007 (UTC)


 * Yeah, splitting the tables was my fault. I wanted to avoid the kind of sprawl that made this book feel really mediocre and unhelpful.  This was probably not the best way to go about it, but to get an idea, compare this hyper-sprawl version with its leaner and meaner counterpart.  Still not quite lean and mean enough.  I think that if we want to make this book halfway decent, we might need some radical surgery.  The book isn't any good if it's just everybody trying to squeeze in their favourite thing (i'm probably guilty of that too).  We need to cut and steer.  For example, could you live with the tables just being a subpage and not on the front page?  Or how about a show/hide link?  -- Kowey 05:44, 19 May 2007 (UTC)


 * I started updating the Table with some pages and noticed that the template didn't have the Perl section in so I updated it. One problem however is the Visual Basic .NET stuff. Doesn't seem to want to link to the pages no matter what I enter. The heading works fine just not the individual pages. Anyone got any ideas?? Oop's never mind the last I was brain dead for a second NET is not Net...John

it is useful to have a strong programming culture
In the present text, there is this awkward, although very understandable phrase "...but it is useful to have a strong programming culture." I would assume this means  cultural , as in having a strong background of knowledge and or experience in programming, perhaps including pseudo-code, logic, etc... From Wikipedia entry culture: ...anthropologists commonly use the term "culture" to refer to the universal human capacity and activities to classify, codify and communicate their experiences symbolically. Unfortunately as used as a noun here- it sounds analogous to "culture" as in a "bacterial culture." he-heh! And it may be a teleogy- what is a "programming culture" other than a culture/climate that consists of programmers programming? I am afraid to replace the word as it might have common usage in the programming community that I am unaware of.??? There are surely better ways to phrase the usefulness of learning more than one computer language. Cuvtixo (talk) 16:03, 7 March 2008 (UTC)


 * Probably background ?!? it seems at least on that phrase to make better sense (as I didn't search the context where it is being used), go ahead and change it... --Panic (talk) 16:49, 7 March 2008 (UTC)

Development platforms
This article seems to be specificall about programming on the personal computer. Although there are some suggestions about including how to program FOR another device (cell phone, mainframe, etc) ON a personal computer, this is significantly different from programming directly from a terminal on a VAX or mainframe, for example. I think there should be some specific information about what a development environment on a PC (IDE) is, what target platforms one can program for. I can't imagine that there isn't some public domain printed material that has a more inclusive overview of all electronic computer programming and what programming languages are.

Some mention of scientific calculators, for example, and programming in languages like FORTH and assembler for Boot ROMs would be a lot more informative Cuvtixo (talk) 22:10, 7 March 2008 (UTC)

book name
I see that recently this book was renamed from "Computer programming" ("sentence casing like Wikipedia does") to "Computer Programming" ("title casing like books often do").

Currently the Manual of Style proposed guideline and the Local manuals of style essay both specifically mention both of these styles as perfectly acceptable for a WikiBook.

Is there a reason to prefer one over the other for this specific book? (Reasons to prefer one over the other, in general, should be discussed in the talk pages of the above guidelines).

If ever change the name of this book again, what name would you prefer? Perhaps a more specific name, such as "Comparing Computer Programming Languages"? --DavidCary (talk) 08:44, 2 January 2009 (UTC)


 * I have been using (the casing) "Computer programming" for categories and "Computer Programming" for WIkibooks as to avoid commissions in general categories and book categories, that is "Computer Programming" as a Wikibook can have it's own category and coexist with "Computer programming" as a general category were various Wikibooks belong (in realty we are using "Programming"), hope that this helps and can be used to come up with a more consistent manual of style... --Panic (talk) 19:56, 2 January 2009 (UTC)

merge
I suggest merging the near-stub book The Complete Programming FAQ into a section of Computer Programming. Both seem to have the same scope -- a general overview of all programming languages, but not an in-depth tutorial on how to learn any one of them. --DavidCary (talk) 14:03, 1 August 2009 (UTC)


 * It seems logical, the The Complete Programming FAQ has no real structure and no defined scope...
 * One thing that the outcome of the VfD indicated is that people have been moving/deleting content out of this book in place of trascluding or reusing it. It seems without giving any attribution to the source book. If I had the time I would also examine all programming books and rebuild this book with the generalist/conceptual information...   --Panic (talk) 18:37, 1 August 2009 (UTC)

Programming skills
I am an old programmar. I am not sure how to go about it, but programming is mostly language independent. I learned machine code first. Then assembly. Coded more in assembly then high level languages. I can say however that I havn't coded in a high level language in which I havn't written a compiler.

The two most basic constructs can be explained and shown in many languages.

The simplest is a list of instructions. A linear construct. Steps executed in sequence.

Step 1, Do a. Step 2, Do b. Step 3, Do c.

A loop is a circular construct directing that something is to be repeated.

Step 1, Do a Step 2, Do b Step 3, Do c Step 4, Go back to Step 1

Conditional constructs. Conditional loops. Exceptions. Interupts. Modules and linkers. Etc.

I have written metacompilers. One used to write a COBOL compiler. A metacompiler grammar rule. Illustrates some constructs.

expr = term $(('+':ADD|'-':SUB) term!2);

The above metacompiler rule generates an expr function that returns success or failure. It Illustrates the two basic constructs above. The first instruction is to call the term function that returns a boolean value (success or failure). If successful the remaining is a loop. This example is far more advanced than the two basics above. Thing is that a declarative language may be seen as or in terms of general concepts. We have linear, circular, conditional, and subroutines in the one line rule above.

The basic programming concepts are in all general purpose programming languages. Maybe because when I started programming, assembly was common. I learned machine code for many computers. LGP-30 machine code, IBM 1400 autocoder assembly, Honeywell H-200 Easycoder. As well as the H-1200, H-3200 and Honeywell 800 and 8200. DEC-10 macro 10, PDP-11 and most all micro processors.

My point is that if you can really program you can do it in any programming language.

Steamerandy (discuss • contribs) 08:38, 30 September 2015 (UTC)

Should not Visual C be included
One of the difficulties for beginners in C is the abstract nature of the language. To design a simple Window in C or C plus plus is not out of the reach of anyone but wouldn't it be easier to just direct everyone to Visual C. That way the familiarity of Microsoft's Windows environment is visible straight away.

Visual C does have some deprecation so that you have to be aware of which version you are using but that is not a real issue. Even something as simple as calling the Paintbrush function to provide the basic colour palette you seen in photo and image editors would be more useful for beginners than explaining that the same thing can be accomplished in C with library calls.

If no one minds I'll add Visual C since you can also download a free version for educational use.

Sluffs (discuss • contribs) 01:38, 14 September 2016 (UTC)
 * ✅ [//en.wikibooks.org/w/index.php?title=Computer_Programming&type=revision&diff=3119867&oldid=3119778 Voilà]. JackPotte (discuss • contribs) 06:49, 14 September 2016 (UTC)