Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 988343
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 16, 20262026-05-16T05:37:28+00:00 2026-05-16T05:37:28+00:00

I’m looking for things like Dynamic typing, Static Typing, Weak Typing, and Strong Typing.

  • 0

I’m looking for things like Dynamic typing, Static Typing, Weak Typing, and Strong Typing.

As well as OO features like polymorphism, inheritance, nested classes, inner classes, abstract classes, pure virtual functions.

Also, things like reflection, static binding, dynamic binding, etc.

However, I’m not really looking for things like control flow, built-in types, or syntactic sugar ie. A[5] vs A.get(5). Though, it wouldn’t hurt.

It would be awesome if something like this existed and also mapped these concepts to particular languages.

I know that many of these features are explained on Wikipedia already, but are not quickly accessible unless I already know what these features are (and I remember) or just happen to find an interrelated link. In fact the only time I use Wikipedia for something like this is if I just happen to see someone reference an idea, which I need to look up.

My main goal is to have a way for me to quickly discover or brush up my knowledge on these concepts and an authoritative list like this would be very helpful.

If something like this does not exist, why?

Is it because different programming languages decided to name some of these things differently but actually do the same thing? (ie. Pure virtual function (C++) vs. abstract methods (Java)) While others may name things the same, but do something slightly different? (The Protected keyword in Java vs. C++) Another reason might be is languages simply don’t have enough features in common to compile a list like this and it’s better to learn a language and it’s features one at a time? In which case I’d probably compile my own “feature list” as I learned the language…

Thanks for reading! 🙂

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-16T05:37:29+00:00Added an answer on May 16, 2026 at 5:37 am

    Very good explanations of programming paradigms and the programming concepts from which those paradigms are built are found in Peter van Roy’s works. Especially in the book Concepts, Techniques, and Models of Computer Programming by Peter Van Roy and Seif Haridi. (Here’s the companion wiki.) CTM (as it is colloquially known in the industry) uses the multi-paradigm Distributed Oz programming language to introduce all the major programming paradigms.

    Peter van Roy also made this amazing poster that shows the 34 major paradigms and their relations and positions on various axis. The poster is basically an incredibly compressed version of CTM. A more thorough explanation of that poster is contained in the article Programming Paradigms for Dummies: What Every Programmer Should Know which appeared as a chapter in the book New Computational Paradigms for Computer Music, edited by G. Assayag and A. Gerzso. It explains for example very concisely and easily understandable, what a programming paradigm actually is, what a programming concept is, and how the two are related.

    Another great book that demonstrates several major programming paradigms is Structure and Interpretation of Computer Programs by Harold Abelson and Gerald Jay Sussman. This book was the basis of MIT’s Introduction to Programming (6.001) for undergrads for several decades. A course taught by Abelson and Sussman themselves was recorded at a corporate training for Hewlett-Packard in 1986.

    You can find video recordings and course materials from the Spring 2005 course on MIT’s OpenCourseWare website. Another recording of the course from MIT’s short-lived ArsDigita University project. SICP has also been taught at other universities, in fact the 2010 course at Berkeley has just finished.

    SICP, as it is colloquially known, is probably one of the best programming books ever written.

    The main difference between SICP and CTM is the didactic approach: CTM demonstrates most major paradigms using an extremely powerful multi-paradigm language that already supports them (mostly Distributed Oz, but also some others). SICP OTOH demonstrates them by implementing them in a language that does not support them natively (a subset of Scheme). IOW: CTM would teach OO be showing programs written in an OO language, SICP by implementing an OO system in Scheme. Seeing Object-Orientation implemented in a dozen or so lines of code is friggin’ awesome.

    Design Concepts in Programming Languages (by Franklyn A. Turbak and David K. Gifford with Mark A. Sheldon) is another great related book.

    Concepts of Programming Languages (by Robert W. Sebesta) explains, well, Concepts of Programming Languages, starting with Konrad Zuse’s Plankalkül, continuing with the first real programming languages like Fortran, Lisp, Cobol, Algol, BASIC and on to C, C++, Java and Ada.

    Concepts in Programming Languages (by John C. Mitchell) is another book that is often cited but that I haven’t yet read myself, unfortunately.

    Ditto for Essentials of Programming Languages (by Daniel P. Friedman and Mitchell Wand) aka EoPL.

    Programming Language Pragmatics (by Michael L. Scott) is more about implementing programming language concepts, however it also talks about them in a way that is reportedly very accessible. (Again, I haven’t read this one.)

    Since you asked a lot about typing specifically, I would be remiss in not mentioning Types and Programming Languages (by Benjamin C. Pierce), or TaPL as it is usually called. This is basically the book about Type Theory as it relates to Programming Languages. Note, however, that its view on types is not uncontroversial: for example, it pretty much flat out denies the existence of dynamic typing.

    To balance out that very strict definition by Pierce, you should definitely read the brilliant Typeful Programming by Luca Cardelli. In the paper, he argues that programming using types as a modeling and structuring construct instead of just mere safety net, is a programming paradigm in its own right. (This is for example in stark contrast to Peter van Roy’s poster and book, which deliberately ignore typing completely.)

    A really great resource is the Lambda the Ultimate weblog (which is actually where I got introduced to pretty much all of the above reading materials.)

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a string like this: La Torre Eiffel paragonata all’Everest What PHP function
I have a jquery bug and I've been looking for hours now, I can't
I would like to count the length of a string with PHP. The string
link Im having trouble converting the html entites into html characters, (&# 8217;) i
For some reason, after submitting a string like this Jack’s Spindle from a text
I've got a string that has curly quotes in it. I'd like to replace
I am trying to render a haml file in a javascript response like so:
I would like to run a str_replace or preg_replace which looks for certain words
I'm parsing an RSS feed that has an ’ in it. SimpleXML turns this
public static bool CheckLogin(string Username, string Password, bool AutoLogin) { bool LoginSuccessful; // Trim

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.