# Are my programming skills transferable to LaTeX and TikZ?

I just want to ask what is LaTeX and TiKZ programming language like? Basically, I am looking at projects available in my final year. The project I looked at is a graphical interface to draw graphs in LaTeX which looks quite interesting. I have skills in java, C, C++ and HTML, but will my programming knowledge be transferable to LaTeX and TikZ?

Also, I have briefly used LaTeX before to structure my reports, and didn't realize it can produce graphs :o

-
I've taken the liberty to make the title of your question more specific. I think it will stand a better chance of getting great answers that way. –  Jubobs May 28 '13 at 22:09
Thanks Jubobs, looks better now :) –  user11998 May 28 '13 at 22:10
Do you want to do something like TiKZedt or LaTeXdraw? –  Ignasi May 28 '13 at 22:14
Wow did not know this existed. The project description also referred this link: texample.net/tikz –  user11998 May 28 '13 at 22:17
For graphing you may prefer something like metapost or asymptote. Asymptote in particular has a syntax close to that of a regular programming langauge. Similarly, you may prefer the structure of expl3 syntax to that of regular LaTeX. –  Scott H. May 28 '13 at 22:29

In my opinion, I think LaTeX and Tikz are easy to learn. With LaTeX, you literally specify what you want so it is very intuitive. For instance, I would like the fraction one half, \frac{1}{2}. If you are a programmer, this should be equivalent to only picking up a new syntax.
With Tikz, some stuff used to seem very esoteric, but after playing with those challenging examples, I was able to understand them and create my own adjustments that suited my needs. However, there is a lot I still haven't learned, but with each passing day, these new endeavours become easier due to the acquired knowledge I continual gain.
I believe your programming skills will be transferable but not as it would be from going from say C# to Java. With programming, you gain the ability to break down problems into to smaller problems. With this strategy, you end up creating algorithms to accomplish your greater goal. If you create your own macros or advanced Tikz plots, you are essential doing just this.