Problem arises when you don’t get to know why my program dysfunctional , inspite of correct logic . The problem may be with memory handling or in the thread handling . Learning syntax is half part , gaining proficiency is another part .
What exactly is memory management ?
In C/C++ assigning memory & handling threads can PITA until one reach a level of experience .
Let’s go by an example:
The above code has two errors . It doesn’t pops up during compilation and during execution .
First one : assigning out of bound index of array_alloc a value i.e array_alloc
Second one : not freeing the allocated memory resulting in memory leak .
###Valgrind to rescue !
By definition : The Valgrind tool suite provides a number of debugging and profiling tools that help you make your programs faster and more correct. The most popular of these tools is called Memcheck. It can detect many memory-related errors that are common in C and C++ programs and that can lead to crashes and unpredictable behaviour.
To rescue onself run the executable using valgrind command
The result is as following
There are two errors : Heap error for invalid assign & Leaks relating lost memory .
Valgrind can also be misused to profile your code (pun intended )
Further Valgrind can also be used for Bounty programs (like google chrome).
There are other tools for debugging like GDB which is very elaborate & pro-like . Apart from that Valgrind is there .
As pointed out what’s better than finding out bugs as quickly without any pain .
So who are Brilliant jerks (someone awesome at coding/hacking?)
Yes , they are top coder people , algorithmic strong and overrunning , specialist in their areas but with an collaboration problem with them . They get arrogant for their material and are blame gamers .
This philosphy is very much followed and applicable to startup culture and growth culture companies . Startup is not looking for brilliant geek but also for a team player , who can effectively communicate with the team and maintain the integrity. A culture where you don’t aim at others for the problem , a culture you believe in peer review system .
How to handle them?
The thing is one can’t just trust them the best way is just to avoid these people because it is very much important to preserve the existing resources and something which can go side by side with them . The collaboration part is most important .
Filtering out soon ?
So how one filter them out , it’s simple you can smell them out during the personal interview . Whether the person is trustful ,making false statement & commiting their own mistakes .
Growth is buzz word in todays IT world especially startup world & culture, if one is not continously growing , that is endangering sign. Either someother company may take over you like the cases happened for Kodak. So growth hacking is like “MOVE FAST & BREAK THINGS”. One need to evolve and growt from/with the existing products and service. Its like branching out .
How to Growth hacking?
The hacking word isn’t misleading, infact it is the inspiration for the Growth Culture . It isn’t easy to continously Rise high & higher , so one need to do it either by hook or by crook . That all is matter to find way between the hurdles. So having a hackers way to do the stuff isn’t bad at all. Further this talent isn’t easily visible just through face to face interview generally & one can’t simple induce it just that . So just watch & observe precisely to find it .
One may definitely argue and fight for the cons but the truth is Growth hacking or other alternative Productivity is addictive habit , one you are into it , one does go for it everyday & everytime.
And ofcourse there are options to rollback if anything goes wrong .
Finding solution any-how is main motive ,it can done through being creative or just using the conventional methods.
Haskell is a functional language & very different from imperative langauges such as python,ruby,c++..etc . It is also called declarative language, the reason is simple one just describe the problem in the program instead of instructions on how to solve the problem .
Why Haskell ?
It’s just not the haskell , this is about functional language , equal importance is for the Scala . The main context for functional langauge is involvement of “Academia” , which other imperative language fails to bridge . It so much fun to learn mathematics and science using functional langauge .
Syntax might seems very unconventional to conventional programmers , but it’s just for the good . Functional programming discourages mutable variable & does not allow reassignment to variable.
Well if you reached so far , won’t you like to evaluate yourself .
“Genius are full of doubts while stupid are full of confidence”.
That’s true and but isn’t that is unfair ,people judge you just by confidence .
One quick way to gain confidence is : “Do what you are afraid of ?”.
Whether it is to prepare for a speech “ Do a mock up speech in front of friends?”
Be it a algorithm problem “Just ask someone else for help if stuck but don’t put it on tomorrow !”
or Be it making a Blogging site: “Just do it . Refactor it later”.
One shouldn’t wait for perfection . Iterate later .
And Let keep it short that way .