What is extreme programming and when it is using? [closed] - agile

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
I am new to programming and I try to research as much as possible in this field. And once I came across to this expression: "Extreme and pair programming". Pair programming is an easy term, and I found quite clear documentation about this. But extreme programming... I found some articles about it, but explanation wasn't so well. All I understood that extreme programming is an Agile development framework. But why I must use that, what is difference between this and another types of programming styles?
Can anyone explain me what is extreme programming language very clearly?

Extreme programming (often called XP) is an agile framework that was developed by Kent Beck in the 1990's.
There aren't too many people that use the whole XP framework these days, but a lot of the engineering practices it popularised are very common.
Examples include:
Pair programming
Test driven development
Continuous integration
Frequent releases
Constant refactoring
XP favours an approach of writing the minimum amount of code to solve the problem at hand. Things like optimisation and forward planning are generally a low priority. This is the 'extreme' part of extreme programming.
The idea is that you write code to solve the current requirement. If you then find you need the code to be faster, or scaleable, etc. then you refactor it.

Related

What exactly does it mean for a programming language to be simple? [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 5 years ago.
Improve this question
What factors are important? How do you know if a given programming language is "simple" or "simpler" than another language?
I'm not sure if this is a fair question to ask, since different languages serve different purposes and it might not really be comparing apples to apples.
However, with that said, memory management would come to mind. One can argue that Java is a "simpler" language than C++, since it has a garbage collector that can deal with some of the complexities around memory management, instead of forcing you to do it yourself.
In my perspective, these are the points that define the complexity of a language.
Variation of syntax from common pseudocode and constructs
Ease of developing a structure for real-life entities like objects
Methods of structure enforcement at compile time.
Memory management strategy allocation/deallocation
Code reusability
Ease of code headers and directives management
Inbuilt libraries
Relative installation package sizes
Data exchange capabilities like over network of files
Process handling like thread management
Relative brevity of the code
Speed of compilation
Developer community size and documentation
OpenSource implementations
Platform dependence
And many more could be added to this list.

Learning functional programming after other programming paradigms [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
I have taught myself C, Python, Java and a few other procedural or object oriented languages to an intermediate degree from resouces on the internet (thanks SO :D) and in books. When I tried to learn Haskell, I couldn't wrap my head around what the code actually did.
Is there a better functional language for someone coming from a background in procedural or object oriented programming to learn? Are there any resources meant for people in my situation?
Thanks!
It's probably varies with people (and this question is bound to get closed over that), but the way I see it: there isn't a stair you need to step on before you can be within reach to Haskell.
So I'd say you're not driven temporarily off necessarily by the language, but by your sources of learning. For the only truly gentle introduction, I recommend LYAH. It keeps things within reasonable difficulty and it has some really entertaining points every now and then.
However, if you still want to almost-soften your transition, you can check out F# which isn't a functional language but it will give you a good taste of FP, and it will be very familiar to you because you still live in an OO world.
You can also check out basically any other functional language and it will give you some of the mindset (Scala, ML, etc.).
Keep in mind that I say "almost-soften", because Haskell is very different (especially because of purity), and that gives you a very logical and mathematical mindset to things and that has been very different for me than any other language I learned. It's incredible. It was much beyond learning different syntax, it's a way to think about things and I can always find myself learning more and a truly amazing part of it is that (since it's so logical, mathematical, reasonable, etc.) the new ways of thinking I acquire with Haskell don't leave me both when I use other languages and even in my personal daily life.
That being said, the only thing truly horrible with Haskell is that it ruined me for other languages. I used to like C#... :(

What agile method do you use? What agile methods are the most common? [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 6 years ago.
Improve this question
I am taking a software development class right now and we are discussing agile methodologies. What are the most common agile methods? I need to look into several and discuss their strengths and weaknesses. Seems more useful to look into the most prominent methods.
Observations:
Scrum seems pretty popular (that is what my team used on two of my coops).
Extreme also seems to get quite a bit of buzz but I am not sure if that many people actually use it.
What does your company use and how do you like it? Does anyone use:
Agile Modeling
Agile unified process
DSDM
Essential Unified Process
Feature Driven Development
Open unified processes
Rational Unified Process
Are there other methodologies that I should investigate?
I've used SCRUM in personal projects with friends and schoolmates and my current employer uses a custom agile process that's very similar to SCRUM but with fewer meetings.
We have used Test Driven Development and Scrum.
I've been on some very successful teams which used Scrum very effectively. It really does help to keep everybody focused and constantly moving forward, and it discourages regressions.

Reference of similar functions between Programming Languages [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
I'm wondering is there is a compiled knowledge base of similar functions or functionalities between several programming languages. The reason I'm asking this question is due to the fact that one is learning a new programming language and has extensive knowledge of another, it's often difficult to know or imagine the correlation of functions between those two languages.
Obviously, if such reference exists, it would make learning a new language much easier since one only had to lookup the similar function and eventually memorize it.
Rosetta Code - user-edited wiki focused on implementing tasks in different languages
Syntax across languages - more focused on syntax
Wikipedia: Comparison of programming languages (basic instructions)
Syntax across languages is the best one. It catalogs control structures, data types, libraries, comments, and much more. Includes information about Delphi, SML, OCaml, Java, Smalltalk, C++, Ruby, Perl, Python, Lisp, PL/I, PHP, EmacsLisp, and VisualBasic.
The original wiki is quite good because its a free flowing discussion(It's not meant to be a rule based encyclopedia like wikipedia) of programming, which with its focus on history, meandering ways, flame wars, and language fanboyism (all in good fun) tells a lot about how features x in language A is basically/better/sort of equivalent to feature y in language B.

Is being Pragmatic agile? [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 5 years ago.
Improve this question
I just re-read The Pragmatic Programmer (my third time reading it...I get something new every time, too). It seems like the tips that they mention are related to many of the various Agile methodologies. Is Pragmatic Programming just another form of Agile Development?
Much of what has been coined "Agile Development" are practices that have been used for years and you will find a lot of these ideas in "The Pragmatic Programmer" and "Code Complete", etc.. To some degree agile is a nice marketing spin that has been coined, but I do believe it has done us a lot of good to get some of these practices and ideeas into the mainstream.
Without wishing to be flippant: does it matter?
When it comes down to it, these are labels which people use in different ways, meaning a whole variety of different things. The practices themselves are much more important than the labels you ascribe to them.
But yes, fundamentally it shouldn't be surprising that many of the practices appear in both places.
The authors both were both part of the small group that started the whole agile movement (or at least gave it a name), so I would say yes.
Yes, the pragprog way is being agile. Many elements of the agile manifesto can be found in the pragmatic programmer book. Great examples of this include "there are no final decisions" and "code that glows in the dark".
Andy Hunt and Dave Thomas (Ruby Dave) signed the agile manifesto.
The main point I'd like to make is that few really experienced agile people put much stock in how "agile" anything is. Kent Beck was interviewed just a few weeks ago on the FLOSS podcast ( http://twit.tv/floss87 ) and it's clear from what he said and his tone of voice that the pioneer of extreme programming doesn't believe that the word "agile" carries much meaning these days in the industry.
I have done lots of extreme programming and have find that everybody says they're "agile" - even people who didn't know what it meant five minutes ago. IMHO the term has become meaningless. It's a lot more clear cut whether a project follows the scrum rules or the extreme programming rules... I'd say pick a specific style because the "agile" umbrella term seems to mean less and less as time goes on.

Resources