Daily Deal: The Complete C++ Programming Bundle
from the good-deals-on-cool-stuff dept
C++ is an object-oriented programming language that is viewed by many as the best language for creating large-scale applications. The Complete C++ Programming Bundle will help you on your way to mastering this important language. With 67+ hours of tutorials, you’ll move through the fundamentals of C++ and onto more advanced techniques. This bundle is available in the Techdirt Deals Store for $45.
Note: The Techdirt Deals Store is powered and curated by StackCommerce. A portion of all sales from Techdirt Deals helps support Techdirt. The products featured do not reflect endorsements by our editorial team.
Filed Under: daily deal
Comments on “Daily Deal: The Complete C++ Programming Bundle”
What Version Of C++?
Recent C++ standards include C++11 and C++14. Does this course cover them? Doesn’t say. For example, Microsoft Visual C++ doesn’t implement the newer standards very well, so to learn them you would be better off with, say, GCC.
Also, I like this quote from the blurb:
You may need to unlearn a bunch of C++ stuff before learning a more high-level language like Python…
Re: What Version Of C++?
“You may need to unlearn a bunch of C++ stuff before learning a more high-level language like Python…”
According to my resume, I speak over 60 programming languages to varying levels of fluency. My postgrad work was on compilers, in case you were curious, and I still do the Pragmatic Programmers thing of a new language every year.
No matter what your first programming language is, you need to unlearn stuff to learn your second programming language. There does come a point where you no longer need to unlearn anything, which happens somewhere around the 4th paradigm.
Incidentally, you probably have to unlearn more going from Python to C++ than you would going from C++ to Python. C++ has sane variable scoping rules, for a start.
Re: Re: sane variable scoping rules, for a start.
That can cope with this?
if freetype2 != None :
@staticmethod
def create_for_ft_face(face, load_flags = 0) :
"creates a FontFace from a freetype2.Face."
if not isinstance(face, freetype2.Face) :
raise TypeError("face must be a freetype2.Face")
#end if
cairo_face = cairo.cairo_ft_font_face_create_for_ft_face(face._ftobj, load_flags)
result = FontFace(cairo_face)
if cairo.cairo_font_face_get_user_data(cairo_face, ct.byref(_ft_destroy_key)) == None :
check(cairo.cairo_font_face_set_user_data
(
cairo_face,
ct.byref(_ft_destroy_key),
ct.cast(face._ftobj, ct.c_void_p).value,
freetype2.ft.FT_Done_Face
))
freetype2.check(freetype2.ft.FT_Reference_Face(face._ftobj))
# need another reference since Cairo has stolen previous one
# not expecting this to fail!
#end if
result.ft_face = face
return
result
#end create_for_ft_face
@staticmethod
def create_for_file(filename, face_index = 0, load_flags = 0) :
"uses FreeType to load a font from the specified filename, and returns"
" a new FontFace for it."
_ensure_ft()
return
FontFace.create_for_ft_face(ft_lib.new_face(filename, face_index), load_flags)
#end create_for_file
else :
@staticmethod
def create_for_ft_face(face) :
"not implemented (requires python_freetype)."
raise NotImplementedError("requires python_freetype")
#end create_for_ft_face
@staticmethod
def create_for_file(filename, face_index = 0, load_flags = 0) :
"uses FreeType to load a font from the specified filename, and returns"
" a new FontFace for it."
_ensure_ft()
ft_face = ct.c_void_p()
status = _ft.FT_New_Face(ct.c_void_p(_ft_lib), filename.encode("utf-8"), face_index, ct.byref(ft_face))
if status != 0 :
raise RuntimeError("Error %d loading FreeType font" % status)
#end if
try :
cairo_face = cairo.cairo_ft_font_face_create_for_ft_face(ft_face.value, load_flags)
result = FontFace(cairo_face)
check(cairo.cairo_font_face_set_user_data
(
cairo_face,
ct.byref(_ft_destroy_key),
ft_face.value,
_ft.FT_Done_Face
))
ft_face = None # so I don't free it yet
finally :
if ft_face != None :
_ft.FT_Done_Face(ft_face)
#end if
#end try
return
result
#end create_for_file
#end if freetype2 != None
Re: Re: Re: sane variable scoping rules, for a start.
Now why the hell would you want to do that? And in Python to boot! Talk about language abuse…
I mean this is basically “pythonized” C FFS.
Python was never meant for this kind of crap…
c-programming
want to learn and teach c++,as the best object oriented programming language.I have found the patfom in your course and very interesting.