Questions tagged [philosophy]

34 questions
132
votes
7 answers

How to avoid being forked into oblivion by a more powerful contributor?

As recently reported here: Xamarin has forked Cocos2D-XNA, a 2D/3D game development framework, creating a cross-platform library that can be included in PCL projects. However the founder of the project that was forked says: The purpose of the…
Den
  • 4,827
  • 2
  • 32
  • 48
64
votes
13 answers

Philosophy behind Undefined Behavior

C\C++ specifications leave out a large number of behaviors open for compilers to implement in their own way. There are a number of questions that always keep getting asked here about the same and we have some excellent posts about…
Alok Save
  • 1,138
  • 7
  • 12
46
votes
6 answers

SOLID principles vs YAGNI

When do the SOLID principles become YAGNI? As programmers we make trade-offs all the time, between complexity, maintainability, time to build and so forth. Amongst others, two of the smartest guidelines for making choices are in my mind the SOLID…
KeesDijk
  • 8,918
  • 4
  • 35
  • 41
39
votes
26 answers

What do you wish language designers paid attention to?

The purpose of this question is not to assemble a laundry list of programming language features that you can't live without, or wish was in your main language of choice. The purpose of this question is to bring to light corners of languge design…
Berin Loritsch
  • 45,784
  • 7
  • 87
  • 160
34
votes
4 answers

A concrete example of Python's "only one way to do it" maxim?

I am learning Python and am intrigued by the following point in PEP 20 The Zen of Python: There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Could anyone…
Charles Roper
  • 1,363
  • 1
  • 13
  • 14
34
votes
10 answers

Ship Early, Ship Never

This started as a "Note to Self," so please excuse me if the frustration is all too evident and the writing is less than stellar... Three major subjects I've had at the forefront of my mind lately: Motivation Learning (Curiosity) Doing…
Bijan
  • 370
  • 2
  • 9
33
votes
5 answers

Is programming in the UNIX philosophy the same as Functional programming?

The UNIX Programming Environment (the classic text) states that the UNIX approach to programming is to build small, well-defined tools that can be combined to solve more complex problems. In learning C and the Bash shell, I've found this to be a…
dvanaria
  • 615
  • 6
  • 8
33
votes
7 answers

Is there a Windows philosophy of programming?

I've been programming both in Unix and Windows environments. Mostly I've worked in Unix, where I've learned Unix Philosophy, which can be summarized as Write programs that do one thing and do it well. Write programs to work together. Write…
Maglob
  • 3,839
  • 1
  • 24
  • 27
22
votes
7 answers

What natural language has the advantage when it comes to programming?

Linguistic relativity is the idea that language shapes the way we think. My question is, how much, and to what extent, does this apply to programming? Are some native, natural languages better-suited for thinking about programming than others? …
Joey Adams
  • 5,535
  • 3
  • 30
  • 34
22
votes
8 answers

Emacs-as-OS: obsolete?

In an attempt to reach at least beginner status with such a legendary editor, I have been coding in Emacs for the last two months. I try to keep an open heart, but I find myself continally disagreeing with one core design choice: that Emacs allow…
AlcubierreDrive
  • 391
  • 2
  • 9
18
votes
8 answers

How do "You Ain't Gonna Need it" and "Now is better than never" play together?

I often find myself embracing "now is better than never" when I'm advancing the DRYness of a design. Typically, I find that I need to cultivate an understanding of the One Authoritative Location for a piece of knowledge in the context of a system…
15
votes
5 answers

Why can't we capture the design of software more effectively?

As engineers, we all "design" artifacts (buildings, programs, circuits, molecules...). That's an activity (design-the-verb) that produces some kind of result (design-the-noun). I think we all agree that design-the-noun is a different entity than the…
Ira Baxter
  • 1,910
  • 16
  • 17
15
votes
7 answers

What discipline does Computer Science belong to?

Is Computer Science science, applied mathematics, engineering, art, philosophy? "Other"? To provide background, here is Steven Wartik's blog posting for Scientific American titled "I'm not a real scientist, and that's okay." The article covers some…
Macneil
  • 8,223
  • 4
  • 34
  • 68
14
votes
3 answers

Recommend a design pattern/approach to exposing/tolerating/recovering from system errors, Exception handling (e.g.s in Java, C++, Perl, PHP)

Can you recommend a design pattern/approach to exposing/tolerating/recovering from system errors, Exception handling (Java, C++, Perl, PHP)? Some errors need to be reported. Some errors can be handled internally (by a retry or are inconsequential…
8
votes
2 answers

Why aren't all method virtual or why doesn't have each class at least one interface?

This is more philosophical question, which address .NET platform, but maybe it is useful also for other languages. I'm doing lot of Unit Testing and especially when I'm using third-party components I often struggling with. In .NET is enormous claim…
Anton Kalcik
  • 193
  • 1
  • 9
1
2 3