Assignment statement - considered harmful? [closed] - functional-programming

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 11 years ago.
Improve this question
I came across this video of Uncle Bob speaking about the SICP book and the assignment statement and it made me think (and read the corresponding chapter from SICP).
I'm wondering whether the arguments listed (local state, side effects, etc.), considering the first edition was published in 1984, are still a problem in modern languages like Java and C#. It may have been a problem then. Is it still now? Or has something changed?
For example in Java we have immutable Strings. A particular area I can think of where assignment is detrimental is concurrency (correct me if I'm wrong). No assignment means no synchronization and no resource deadlocks, right?

Related

Last breaking changes to Ada [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 2 years ago.
Improve this question
(Edited to narrow the question to Ada. Have posted other questions for Fortran and COBOL.)
I've spent some time in the past year dealing with changes to my code due to Python v2->v3 and R v3->v4 changes. It got me curious as to some of the older languages that are still in use.
I know Ada still sees occasional updates and functionality upgrades. I would assume that their mission-critical nature makes those changes smaller and more backward-compatible, but I don't really know and couldn't find it with a web search.
What and when were the last changes to Ada that was on the same rough order as the Python 2->3 changes?
Ada pays a lot of attention to reverse compatibility, to avoid breaking existing code, when making changes.
Last formal Ada release was Ada-2012, there is another one (Ada-202X) in progress.
Ada-2012 has a lot that Ada-83 doesn't, but I'd be surprised if there was anything more than trivial work to build an Ada-83 project (or Ada-95 or Ada-2005) in Ada-2012.
There are some differences though : from Ada-83 to Ada-2012 As you can see, there's really not much to say for 30 years of development.

Writing R-thonic code in R [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 4 years ago.
Improve this question
What were the design decisions that led to R having often more than one way of doing things, that have subtle difference? See, for a good example,
https://www.r-bloggers.com/r-na-vs-null/
More more such issues are here, some which are justified, some which are not http://r4stats.com/articles/why-r-is-hard-to-learn/
From a software engineering perspective, having such choices in a language screams for having subtle and hard-to-find bugs in your code (e.g. in Python the whole point of writing "pythonic" code, that avoids ambiguity and is easy to read and consistent in style). So there must be some major advantages of having that. What are they?

Unix Parent-child process relationship [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
i understand well the parent-child relationship in unix processes creation. But i don't understand the rationale behind it :( why do we need to fork from the current process to create a new one, then overwrite its image with a new code if any? cheers
The rationale is that unix system calls (at least originally) are "elementary" operations done by the kernel.
In practice, applications often do some specific things between fork(2) and execve(2), in particular calls to close(2) and dup2(2), also sigaction(2) to ignore some signals (with perhaps some pipe(2) syscalls done before the fork).
If you wanted to have a single syscall handling all this at a time, it would have been very complex, and less flexible.
I suggest to read some book like Advanced Linux Programming (it is free and online) or Advanced Unix Programming in addition of intro(2).
I find on the contrary the intent to separate creating a process and executing a program quite natural. I don't really understand why you want both operations to be combined.
See also this mine answer about syscalls.

What query language abides most closely to Codd's relational model of data? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
Syntactically, at least, SQL is pretty far off. Thanks!
Dataphor's D4 is said to be pretty close (sole major error being the introduction of a null-like construct that the customers forced upon the developers, IIRC).
The projects listed on The Third Manifesto's project page ( http://www.dcs.warwick.ac.uk/~hugh/TTM/Projects.html ) should all be expected to abide even more closely.
There are the two syntactically very different languages: Relational Algebra and Relational Calculus, and SQL is a mixture of both. There are plenty of verbatim Relational Algebra implementations, so the matter obviously is not how "faithful" the implementation is.

What is 'System Usage Specification'? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
My software is a video-audio converter and video cutter. I have used Qt(compiled from source) and ffmpeg (compiled from source). I have to prepare System Usage Specification outline and Specify Usage patterns of the system and indicate it using Run charts / Histograms. I am told to use Winrunner for this purpose. I don't know exactly what to do. Please help.
I never heard about 'System Usage Specification', this must be a terminology specific to your company.
A wild guess would be that it's something close to the Use Case diagram of UML, to define what the users can do and which action they have to perform to lead them to the expected result.
Sounds like a uggly word for "handbook" or "usage guide" from the pov of a end-user (though I never heared of that specific term)

Resources