View Full Version : Please suggest a programming language
Forensic
7th November 2013, 20:32
I would like to write a complete 64-bit Window's multi-thread video enhancement GUI driven program that can also accept legacy AVIsynth plug-ins (sort of an industry specific super-charged version of AVSpmod).
Based on having a strong familiarity with Javascript and AVIsynth scripts, what "real" programming language should be the easiest to learn while supporting pixel level manipulations?
I have been told that C++ has a tight integration with Avisynth, but I am extremely concerned over its steep learning curve. Python (the language of AVSpmod and VapourSynth) has a slightly easier learning curve, but far fewer GUI tools. Would Visual Basic be a good choice...or something else?
I don't care about the cost, just minimizing the learning curve while maximizing programming power for video enhancement manipulation. Especially if the language (or its supportive community) offers modules I can purchase to expedite my product's development.
Any suggestions?
Thank you, Forensic
Groucho2004
7th November 2013, 21:44
If you're starting from scratch I would suggest C-Sharp. C++ is probably the most versatile language but it does indeed have a steep learning curve.
TurboPascal7
8th November 2013, 00:48
I agree on the C# part. It's a great language if you don't plan to go full cross-platform, and even if you do, it's worth considering.
That said, I'd suggest you to consider embedding VapourSynth (which is written in C++ btw, not Python) into your application. Writing a core is not the easiest task even if you are an experienced programmer, and if you aren't - it's basically impossible. Especially if you want multithreading and x64 support.
StainlessS
8th November 2013, 03:20
C/CPP is likely to be around for some time, cant say for sure the same for Microsoft and it's proprietary offerings.
The cost of steep learning curve would eventually pay off, hardest thing is figuring out where to scatter your
semicolons, (you need lots of them). In converting Avisynth (GScript) script into C, I have found for the most part that
all that was needed was insertion of semicolons (and defining of variable types).
Sounds like an ambitious project and I wish you all the best for it.
Forensic
8th November 2013, 03:35
First off, thank you for all the great feedback. From what I just read on the internet, C# and C++ are different animals with limited similarities. If I do try to embed VapourSynth into my application, would that dictate that I should go with C++?
Is it allowed for me to embed VapourSynth if my end goal is a for profit product?
Also, if C++, which one (Intel Composer, visual c++, Orwell Dev-C++, Code::Blocks, etc...)?
Overdrive80
8th November 2013, 06:37
If you go use C++ or python, you need:
• Compiler like mingw.
• wxWidgets
• wxAdditions (optional)
• wxFormBuilder. Constructor of interfaces for wxWidgets.
• Code::Blocks.
rvs75
8th November 2013, 12:54
I can help if you use a .NET language (VB or c#), but i think the most important is study for a good framework with wrapper, abstraction layer, and UI.
And this study must be realize before writing any code !
With a good modelling, the UI can be used for Avisynth*, VaporSynth, GStreamer, DirectShow editing services, ...
Guest
8th November 2013, 13:54
And this study must be realize before writing any code ! Amen, bro!
Regarding incorporating VapourSynth, it is LGPL, so study that license to see what is allowed. Basically, if you load it dynamically (and do not build it statically into your executable), you will be OK.
Forensic
8th November 2013, 17:45
(begin dramatic thematic music) I do not know if this journey will take me to the place I dream of, but I shall be enriched by the quest. Before I formalize any framework, I will grasp C++ basics and discover my limitations. To that end, I have installed QT/MinGW32 C++, ordered training books and found supportive forums and videos. And now...my journey begins...maybe too naive and wide-eyed...but forward all the same. Thank you all for your words of wisdom. I will monitor this thread for further comments. (fade out of dramatic music)
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.