As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I apologize that this isn't a technical question, but as a programming student, I find it difficult at times to remember various arguments (especially in BASH scripting), so my question to the pros is, do you use references and "cheat sheets" or is it all from memory?
We don't memorise as in memorising the multiplication table. We memorise as in playing a musical instrument: kept using it.
We memorize only one command, man and bookmark only one URL, The Portable Operating System Interface (POSIX) which provides the cheat sheets for shell and kernel programming alike. We learn C only from one book, Kernighan, Ritchie: The C Programming Language and Unix/Network programming only with W.Richard Stevens' books.
Everything else is expendable :-)
Well I guess there is no real way to memorize things, you need to really have an understanding of the commands. To be honest a lot of people still may need to look in the "man" for particular commands to find all their options. The first step is feeling comfortable with bash and the commands and having a general appreciation of how bash commands generally work.
Then there is good old fashioned repeated use which will get you more familiar with the commands and then it will become second nature. So I guess the answer is to get a general appreciation and keep learning and applying what you learn on a regular basis.
I personally have a cheat sheet of commands that i use on my setup.
The more you code the less you will need to look something up. Google is your friend.
Firstly, try focus on remembering concepts and not variables or function names.
Secondly, using cheatsheets and references is a good choice for beginner, you can even print it and put nearby.
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I was wondering is it worthwhile learning a language like Erlang. I am looking at learning a new language and the following questions are on my mind :
Will learning functional programming help me/improve as a programmer?
Industry Usage of Erlang/ projects using erlang ?
Any real future in learning erlang from a career point of view?
Possible advantages/disadvantages of erlang over python/PHP/ etc
Thanks,
Vicky
Coming from Scheme here so I can't speak much for Erlang. But as Scheme is functional as well, let me try to convince you.
Will learning functional programming help you as a programmer?
Absolutely. I've heard a lot of reasons for this, some I can attest to, others not (yet). Actually, in my opinion, it's moot trying to convince people that functional programming is worth learning at all, especially when there's a lot of press about Python/PHP/Java(Script)/etc. They have to be convinced for themselves, when they learn it.
As for me, Scheme allowed me to appreciate recursion more. Sure you rarely use recursion in other languages due to limited stack space but as a lot of algorithms are described recursively (albeit implemented iteratively, that is, using loop constructs), implementing them recursively should give you a better appreciation for them.
Industry use of Erlang?
Pass. Though I recommend looking around at Commercial Uses of Functional Programming.
Learning Erlang for a career?
I'm not the person to ask so I can't elaborate but I've heard that FP proved to be very useful in parallel computing. Talk about the future!
Advantages over Python/PHP/etc?
It's functional so it is a good practice for mathematical thinking about algorithms, which is not very apparent (at least for me) when you code in a procedural language. Also, look at the results of Programming Language Benchmarks. It seems that functional languages are faster than those you mentioned (LISP, Haskell, Erlang). Python goes after Erlang but Erlang sure is faster by around half of Python's time! And look at Erlang HiPE: 10.22 seconds! (I'm looking at x64 Ubuntu Intel Q6600 quad-core---parallel processing gave them a leg-up?)
TL;DR Go ahead and learn it. You'll thank me, I'm telling you ;D
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
More of a side thing I want to learn since they never really went much over it in college, and yes im sure this has been asked plenty of times but Books/Algorithms get updated. So I wanted to most updated opinions/reviews of it.
I am less concerned about the history of it, but more concerned about actual implementation. And maybe by the end of the book implementing my own pseudo encryption algorithm.
I recall hearing something about Crpytool being a good learning program. I don't know if that is still true or not.
I am guessing typical encryption algorithms can be pretty much implemented in most languages right? Like MD5 in php and c?
http://www.schneier.com/book-practical.html
And please don't use your pseudo-encryption algorithm for anything more important than your own love letters. It's probably best not to use your own implementations of standard algorithms either.
Here is Cryptography for Developers and Cryptography in C and C++ books which I advise you much
The handbook of applied cryptography is worth to read, especially chapter 14.
http://www.cacr.math.uwaterloo.ca/hac/
Wikipedia has a good bibliography page on the subject which history page shows frequent updates.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 12 years ago.
I have recently attended a lecture about functional programming by the CEO of a very successful company. The company relies very heavily (almost exclusively) on functional programming. The actual language they use is F#.
This man claims that functional programming is poised to take over as the next big thing. I have heard similar claims about this in the past but it never seemed to happen.
Because functional programming is very different from imperative programming, and would take a considerable amount of time to become fluent in, is it worth it? Do you think that there is a big future for functional programming?
It is worth getting to know a functional language but not because it will get big in the future or land you a good job, but rather because you'll become a better programmer by knowing something besides OOP and procedural languages.
There are almost as many different opinions on this as there are readers of stackoverflow. Everybody has their own crystal ball :-)
Elements of functional programming will be (are) included in mainstream languages. The next COD won't be written in Haskell though.
I certainly think that functional programming will always have a place. I don't know if it will be the next big thing, considering that it's been around for 50 years. I do think that it's worth it to learn a functional language. As ESR has said:
"Lisp is worth learning for the profound enlightenment experience you will have when you finally get it; that experience will make you a better programmer for the rest of your days, even if you never actually use Lisp itself a lot."
Source: How To Become A Hacker by Eric S. Raymond
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
Is there an easy markup language for math equations?
I am developing an application for undergrads and I was looking for something less complex than LaTex and easier to write than MathML.
For the actual equations themselves, I think tex is simple and clear. Tex gets complicated only when you worry about everything except the equations, such as documents and packages etc. And the quality of tex equations is far better than everything else. So I'd recommend looking at some kind of hybrid approach - use tex markup for the actual equations, but embed them in a simpler environment. You might look at some of the questions relating to converting tex equations directly to pngs.
Have you looked at ASCIIMathML? It converts the markup to MathML, but seems to be easier on the brain...
Look at eqn at http://www.kohala.com/start/troff/troff.html for instance.
The answer will depend critically on what you want. Note that if you roll your own you will have to develop a complete toolkit for authoring, validating, transforming and rendering. You will either have to have a very small language or put in a lot of effort.
If you want typesetting, then use either TeX or presentational MathML as they have well-developed toolkits. If you want semantic math then content MathML is your best bet.
One of the main groups involved with math markup is the Mathematical Knowledge Management community (MKM) and their choice is MathML. I have interacted with them over the years as chemistry and math often are found together.
I'm afraid that the answer is that Math is a complex subject and there are no ultra simple solutions. I believe that MathML is fairly free of unnecessary complexity and represents the best way forward. Moreover it is an excellent indication of the difference beteween presentation and content/semantics.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
i got really confused every time when i encounterd bit operations,especially those shifts,rotates,overflow things etc.I wonder if there's any book/article on the web introducing boolean algebra,which could give me a solid background of boolean algebra,thanks!
Two really great books come to mind.
Code: The Hidden Language of Computer Hardware and Software
Hacker's Delight
Also, online you can read Bit Twiddling Hacks.
Wiki articles:
Boolean algebra (introduction)
Boolean algebra (logic)
Boolean logic
I don't know of any books on this subject, but here are some online resources... It sounds to me like what you want is to understand binary better to start with. Here is a little treatment of Binary from MathWorld, which is the web's best mathematics reference. Here is an applet on binary shift. There is a wikipedia article on Bitwise Operation. Ben Fry has created a good calculator that includes Bit Roll (Rotation) in it - be sure to look at the help on the calculator as it does much more than is obvious at first - try changing the Mode to Bin, for example.
If you are using C like languages you can also read this: bitwise operations in C
At university we used a book called Introduction to Logic Design. Covered everything from boolean algebra up to FPGA stuff. Pretty comprehensive and it has a fair amount of exercises.
When I took my first digital logic class, I actually did every single lab in Minecraft. This might not help alot of people, who have built many different things here.
I recommend minecraft for some fun hands on experience in this stuff, even though, it may not be the most 'efficient' way to learn :)