Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does it mean to be good in a programming language? [closed]

What does - 'Knowing a language' really mean?

I'm sure it's more than knowing just the syntax.

Is it

  • knowing all/most of the available libraries
  • knowing how the features of the language are implemented

How did you learn the language you are proficient in?

like image 330
Pranav Avatar asked Apr 13 '09 03:04

Pranav


People also ask

What is closed to programming language?

In programming languages, a closure, also lexical closure or function closure, is a technique for implementing lexically scoped name binding in a language with first-class functions. Operationally, a closure is a record storing a function together with an environment.

What does it mean to be good at a programming language?

A great programmer is able to understand problems clearly, break them down into hypotheses, and propose solutions in a coherent manner. They understand concepts quickly, or ask the right questions to help make them clear, and don't need to have everything written down in a specifications document.

Is Python closed source language?

Python is developed under an OSI-approved open source license, making it freely usable and distributable, even for commercial use.

Do all programming languages have closures?

All functional programming languages that I know of (e.g. Haskell, Scala, Scheme, Clojure, SML, OCaml, ...) support a notion of closures. Also, I often read that a language X can be considered functional because it supports closures.


2 Answers

"Knowing" a programming language is very similar to "knowing" a human language - you're fluent when you don't have to keep flipping back to a book or pausing to remember the right word.

I think "knowing a language" means being able to read and comprehend most programs (~90%) without looking anything up in a reference resource, and knowing exactly where to go to find the technical details on more obscure parts of a framework. For languages/platforms that don't have a "framework" per se, it is having that knowledge of the major libraries commonly accepted by the community.

For writing in that language, it means spending ~90%+ time on the design of what you're writing - including research on the design - and less than 10% looking up technical reference information.

like image 74
Rex M Avatar answered Sep 20 '22 00:09

Rex M


Really 'knowing' a language to describe yourself as 'good' means

  • you know about all the features of the language, including both
    • the unique/good features and when to use them, as well as
    • the dusty corners and what to avoid
  • you know about the common conventions
  • (as you mention) you know the libraries of the platform
  • you know the entire toolchain (IDEs, build projects, debuggers, profilers) so that you can be proficient with the language
like image 37
Brian Avatar answered Sep 18 '22 00:09

Brian