Question: Often I hear people around me who like to discussion about writing in assembly language and which is one of those reasons I'm also want to learn to write it. Currently I'm learning assembly and C together.

So, my question is when do you ever need to write assembly in real code?  

Is it just good to learn?  

Are there are any real uses of it when writing code in C?

Any helpful comments or answers will be appreciated!

Answer: 
Despite the fact that writing code in assembly became increasingly rare, it is still very good to learn assembly simply to understand how things work under the hood. Modern optimizing compilers of C/C++ let you write code in C that translates into assembly instructions of very high quality, often surpassing what you could write manually at the expense of making the result less readable (e.g by inserting empty instructions to optimize the use of CPU's pipeline).

If you write a compiler for a new architecture, a very low-level library, or an embedded system with strict resource constraints, you may need to use assembly. For everything else, C and C++ will do as well or better.
Professional use of assembly language is quite common in the embedded world. There are lots of applications around us where microcontrollers do simple but useful things. For example, have a look at the [tinyAVR family of microcontrollers from Atmel](http://www.atmel.com/dyn/products/devices.asp?category_id=163&family_id=607&subfamily_id=791&source=left_nav), especially the ATtiny13 with its ridiculously small 1kB program memory and no RAM at all except for the 32 8-bit CPU registers. It's amazing though, what these chips are [capable of](http://www.youtube.com/watch?v=d4-kF-MkP0A). That chip costs about one dollar when bought in large quantities. So when you produce a large quantity of a device that needs simple (or even not quite simple) logic, the savings in hardware production costs far outweigh the overhead of hand-crafting the code in assembler to make it work on an extremely limited platform.