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 :)
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 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.
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.
Is anyone knowledgeable on programming language implementation of algorithmic trading?
I am going to propose a research project on functional programming and algorithmic trading.
My proposal is here: http://pastebin.com/wcigd5tk
Any comments would be very appreciated.
What do you think the future of functional languages in the financial field is? I see many job postings that ask for experience in java and C++, and i dont understand why.
Jane Street is very well known for using OCaml for their trading software. Here you can find some reasons why they decided to use functional languages rather than imperative ones. They also have a blog describing several specific solutions to problems they encountered during development.
C++ is the most popular in that field.
java , python ,haskall ,c# are all runners up
haskall and c# are functional with haskell being purely functional
eventually the field will move to a more "modern language" like c# or haskall but right now c++ has so much support the libraries are already made and its implementation is the easiest .
For Trading application, it usually has Real time, multithread, low latency, high availability to consider too. I was working in a company developing a trading application using both(mixed) C++ and Java as it fit with the behaviour of the application.
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.
Not a book that talks about how to code but more high level organization of software.
General Responsibility Assignment Software Principles and Domain Driven Design are in my opinion are the next must have things you should get familiar with after learning to code. API Design is also a good read, especially when you are developing the software that will be used/extended by multiple people.
I am not in favor of learning patterns as it is EASIER to misuse them if the intention is not understood correctly. (Everything seems like a nail if you have a hammer kind of thing). I have nothing against patterns but I have seen it mostly misused by the junior developers thus creating hard to maintain products.
My Professor at RWTH recommended these:
Jacobson, I., et al (1992): Object Oriented Software Engineering
Meyer, B. (1997) : Object Oriented Software Construction,2nd edition, Prentice Hall, ISBN 0-136-29155-4
Though perhaps it is not strictly architecture-related (although I believe you'll find that most prescriptions of architecture patterns are mere guidelines at best, and far from comprehensive), Steve McConnell's Code Complete is truly required reading. More importantly than teaching you design patterns, it will teach you to be a better programmer so that you can make these kinds of decisions for yourself.
I really like Fowler's Design Patterns. Deep stuff, some of it's hard to get through, but yum.
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